8

我在一个实例中安装了 SQL 服务器数据库(主服务器),在其他实例中安装了 RerportServer 的 SQL 服务器数据库。将数据从 mainServer 复制到报告服务器的最佳方法是什么?mainServer中的数据变化频繁,ReportSever 中的实际信息非常重要。

有很多方法可以做到这一点:

  • 镜像
  • 运输日志
  • 事务复制
  • 合并复制
  • 快照复制

有没有一些关于这个的最佳实践?谢谢

4

2 回答 2

11

您的案例需要事务复制。这就是您不需要其他 4 种情况的原因:

镜像

  • 这通常用于提高数据库服务器的可用性,并在发生灾难时提供自动故障转移。
  • 通常即使您拥有多个数据库副本(建议位于不同的服务器实例上),但一次只有一个处于活动状态,称为主体服务器。
  • 此服务器实例上的每个操作都会连续(尽快)镜像到其他实例上,因此这不适合您的用例。

日志运输

  • 在这种情况下,除了生产数据库服务器之外,您还有额外的故障转移服务器,以便生产服务器的数据库、差异和事务日志的备份会自动传送(复制)到故障转移并恢复。
  • 这里的复制相对安排在比其他机制更长的时间间隔,通常从一个小时到几个小时不等。
  • 这还允许在生产站点发生灾难时手动准备故障转移服务器。
  • 这也不适合您的用例。

合并复制

  • 这与其他之间的主要区别在于,复制的数据库实例可以与不同的客户端应用程序进行通信,而无需对彼此进行更改。
  • 例如,北美的数据库服务器由美洲和欧洲的客户更新,而澳大利亚的另一台数据库服务器由亚太地区的客户更新,然后将更改相互合并。
  • 同样,它不适合您的用例。

快照复制

  • 发布数据库的整个快照以复制到辅助数据库(与仅发送用于复制的日志文件不同。)
  • 然而,最初,对于每种类型的复制,都会生成一个快照来初始化订阅数据库,即仅一次。

为什么要使用事务复制

  • 您可以选择要连续复制的对象(表、视图等),因此如果只有一部分表用于报告,则可以节省大量带宽。这在镜像日志传送中是不可能的。
  • 您可以将流量从您的应用程序重定向到报告服务器以进行所有读取报告(顺便说一句,您也可以在其他人中这样做)。
  • 您可以让独立的批处理作业生成一些在报告服务器上运行的更常用的报告,从而减少主服务器上的负载,如果它有相当频繁的插入、更新或删除。
于 2012-05-07T09:57:00.897 回答
6

从上到下浏览您的列表。

  1. 镜像:如果您将数据从主服务器镜像到您的报告服务器,您将无法访问您的报告服务器。镜像将镜像数据库置于连续恢复状态。镜像是一种高可用性解决方案。在您的情况下,reportServer 只有在您进行故障转移时才可用于查询。镜像服务器在故障转移之前永远不会运行。这不是您想要的,因为在 reportServer 运行之前您无法使用它。

  2. 日志传送:日志传送将允许您将计划事件的事务日志备份应用到报告服务器。如果您每 15 分钟备份一次事务日志并将数据应用到 reportServer,您的主服务器和日志服务器之间将有 15 分钟以上的延迟。镜像实际上是实时日志传送。根据您设置日志传送的方式,您的客户端将不得不在数据库忙于恢复日志文件时断开连接。因此,在长时间恢复期间,可能无法使用报告。日志传送也是一种高可用性功能,对报告没有真正的用处。有关在尝试恢复时尝试访问数据库的说明,请参阅此链接http://social.msdn.microsoft.com/forums/en-US/sqldisasterrecovery/thread/c6931747-9dcb-41f6-bdf4-ae0f4569fda7

  3. 复制: 我在这里把所有的复制集中在一起。复制,尤其是事务复制可以帮助您扩展您的报告需求。它通常更容易实现,而且您可以一直报告数据,而在镜像中您无法报告事务日志传送中的数据,您将有差距。因此,在您的情况下,复制更有意义。如果您的报告可以说是一天前的,快照复制将很有用。您可以每天早上从 mainServer 制作所需数据的快照,并将其发布到订阅者 reportServer。但是,如果数据库非常大,那么每天处理快照都会有问题。合并复制仅在您想要更新复制的数据时才有用。在您的情况下,您希望拥有要报告的数据的只读副本,因此合并复制将无济于事。事务复制将允许您通过网络发送复制。在您需要经常更新报告服务器中的信息的情况下,这将非常有用。我可能会为你推荐这条路线。

请记住,通过实施复制/镜像/日志传送,您正在创建更多的维护工作。复制 CAN 失败。镜像也可以,事务日志传送也可以。您将需要监控这些解决方案以确保它们顺利运行。所以问题是您是否真的需要将报告扩展到另一台服务器,或者可能花时间确定为什么不能在生产服务器上报告?

希望有帮助!

于 2012-05-07T09:25:29.273 回答