我有一个在多个大洲使用的网络应用程序。运行大型报表时,底层事务数据库处于锁定状态。我想要:
- 将 SQL Server 2005 数据库实时生成到报告数据库
- 将所有报告定向到报告数据库
理论上,这将防止插入和更新的事务锁定。只要事务继续,如果报告数据库被暂时锁定是可以的。报告数据库在负载较轻时可以接收新事务。维护事务数据库的近实时副本的最佳方法是什么?我应该使用复制、镜像还是两者的结合?我应该遵循哪些一般准则?
谢谢!
我有一个在多个大洲使用的网络应用程序。运行大型报表时,底层事务数据库处于锁定状态。我想要:
理论上,这将防止插入和更新的事务锁定。只要事务继续,如果报告数据库被暂时锁定是可以的。报告数据库在负载较轻时可以接收新事务。维护事务数据库的近实时副本的最佳方法是什么?我应该使用复制、镜像还是两者的结合?我应该遵循哪些一般准则?
谢谢!
镜像 = 整个数据库,复制是通常 基于您“发布”的内容的子集
在这种情况下,如果您需要接近实时,我会使用复制。如果报告可能滞后几分钟或报告应该在一段时间内“静态”,我会考虑镜像。
使用Sql Server 复制来实现这种架构。例如,将数据从您的主数据库服务器复制到报告服务器。它不是实时的(很少有系统是实时的),但可以非常接近。
Sql Server 复制有多种风格,您可能需要服务器到服务器。另请参阅这篇关于数据仓库和报告的文章。它描述了您面临的确切场景和您的目标:
按照设计,事务复制解决了此场景的主要要求: