我在一个实例中安装了 SQL 服务器数据库(主服务器),在其他实例中安装了 RerportServer 的 SQL 服务器数据库。将数据从 mainServer 复制到报告服务器的最佳方法是什么?mainServer中的数据变化频繁,ReportSever 中的实际信息非常重要。
有很多方法可以做到这一点:
- 镜像
- 运输日志
- 事务复制
- 合并复制
- 快照复制
有没有一些关于这个的最佳实践?谢谢
我在一个实例中安装了 SQL 服务器数据库(主服务器),在其他实例中安装了 RerportServer 的 SQL 服务器数据库。将数据从 mainServer 复制到报告服务器的最佳方法是什么?mainServer中的数据变化频繁,ReportSever 中的实际信息非常重要。
有很多方法可以做到这一点:
有没有一些关于这个的最佳实践?谢谢
您的案例需要事务复制。这就是您不需要其他 4 种情况的原因:
为什么要使用事务复制?
从上到下浏览您的列表。
镜像:如果您将数据从主服务器镜像到您的报告服务器,您将无法访问您的报告服务器。镜像将镜像数据库置于连续恢复状态。镜像是一种高可用性解决方案。在您的情况下,reportServer 只有在您进行故障转移时才可用于查询。镜像服务器在故障转移之前永远不会运行。这不是您想要的,因为在 reportServer 运行之前您无法使用它。
日志传送:日志传送将允许您将计划事件的事务日志备份应用到报告服务器。如果您每 15 分钟备份一次事务日志并将数据应用到 reportServer,您的主服务器和日志服务器之间将有 15 分钟以上的延迟。镜像实际上是实时日志传送。根据您设置日志传送的方式,您的客户端将不得不在数据库忙于恢复日志文件时断开连接。因此,在长时间恢复期间,可能无法使用报告。日志传送也是一种高可用性功能,对报告没有真正的用处。有关在尝试恢复时尝试访问数据库的说明,请参阅此链接http://social.msdn.microsoft.com/forums/en-US/sqldisasterrecovery/thread/c6931747-9dcb-41f6-bdf4-ae0f4569fda7
复制: 我在这里把所有的复制集中在一起。复制,尤其是事务复制可以帮助您扩展您的报告需求。它通常更容易实现,而且您可以一直报告数据,而在镜像中您无法报告事务日志传送中的数据,您将有差距。因此,在您的情况下,复制更有意义。如果您的报告可以说是一天前的,快照复制将很有用。您可以每天早上从 mainServer 制作所需数据的快照,并将其发布到订阅者 reportServer。但是,如果数据库非常大,那么每天处理快照都会有问题。合并复制仅在您想要更新复制的数据时才有用。在您的情况下,您希望拥有要报告的数据的只读副本,因此合并复制将无济于事。事务复制将允许您通过网络发送复制。在您需要经常更新报告服务器中的信息的情况下,这将非常有用。我可能会为你推荐这条路线。
请记住,通过实施复制/镜像/日志传送,您正在创建更多的维护工作。复制 CAN 失败。镜像也可以,事务日志传送也可以。您将需要监控这些解决方案以确保它们顺利运行。所以问题是您是否真的需要将报告扩展到另一台服务器,或者可能花时间确定为什么不能在生产服务器上报告?
希望有帮助!