如何创建SQL Server 2005数据库的实时副本?

时间:2010-11-17 18:54:52

标签: sql-server-2005 reporting replication mirroring oltp

我有一个在多个大洲使用的网络应用程序。运行大型报表时,基础事务DB将锁定。我想:

  1. 将SQL Server 2005数据库实时转换为报告数据库
  2. 将所有报告指向报告数据库
  3. 理论上,这将阻止插入和更新的事务锁定。只要事务继续,报告数据库就会暂时被锁定,这是可以的。报告数据库可以在较轻负载时接收新事务。维护事务数据库的近实时副本的最佳方法是什么?我应该使用复制,镜像还是两者的组合?我应遵循哪些一般准则?

    谢谢!

2 个答案:

答案 0 :(得分:3)

镜像=整个数据库,复制是子集通常 based on what you "publish"

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

答案 1 :(得分:2)

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

有几种版本的Sql Server复制,您可能需要server-to-server.另请参阅有关data warehousing and reporting的文章。它描述了您遇到的确切情况以及您的目标:

  

按设计,事务复制   解决了主要要求   对于这种情况:

  • 交易一致性
  • 低延迟
  • 高吞吐量
  • 最小开销