4

我有一个在多个大洲使用的网络应用程序。运行大型报表时,底层事务数据库处于锁定状态。我想要:

  1. 将 SQL Server 2005 数据库实时生成到报告数据库
  2. 将所有报告定向到报告数据库

理论上,这将防止插入和更新的事务锁定。只要事务继续,如果报告数据库被暂时锁定是可以的。报告数据库在负载较轻时可以接收新事务。维护事务数据库的近实时副本的最佳方法是什么?我应该使用复制、镜像还是两者的结合?我应该遵循哪些一般准则?

谢谢!

4

2 回答 2

3

镜像 = 整个数据库,复制是通常 基于您“发布”的内容的子集

在这种情况下,如果您需要接近实时,我会使用复制。如果报告可能滞后几分钟或报告应该在一段时间内“静态”,我会考虑镜像。

于 2010-11-17T19:03:16.540 回答
2

使用Sql Server 复制来实现这种架构。例如,将数据从您的主数据库服务器复制到报告服务器。它不是实时的(很少有系统是实时的),但可以非常接近。

Sql Server 复制有多种风格,您可能需要服务器到服务器。另请参阅这篇关于数据仓库和报告的文章。它描述了您面临的确切场景和您的目标:

按照设计,事务复制解决了此场景的主要要求:

  • 事务一致性
  • 低延迟
  • 高吞吐量
  • 最小的开销
于 2010-11-17T19:00:40.350 回答