4

我正在寻找一些帮助/建议,将两个大型数据库备份到一台专用于报告的服务器。情况是;

我公司的内部网站有两个数据库。一个用于英国,一个用于欧洲。两者都为 DR 镜像。

我在欧洲有一台服务器,专门用于 Microsoft Reporting Services,我们根据这两个数据库中收集的数据运行报告。

出于性能/安全原因,我们不想将报告服务指向实时数据库,因此我们目前每天备份这两个数据库并将它们还原到我们的 Reporting Services 服务器。

然而,这意味着我们通过备份整个数据库给我们的网络带来了压力,而且数据仅在昨天午夜之前是最新的。

我们的目标是让数据至少更新 15 分钟,有人建议查看 Log Shipping,所以我想知道是否有人在设置这个方面有任何经验,优缺点是什么,是否有更好的选择?

任何帮助将不胜感激,谢谢

4

4 回答 4

2

日志传送是一个很好的解决方案。我们在SQLServerPedia 的 Log Shipping 部分有关于它的文章,我有一个视频教程,通过不同的选项与您交谈。关于日志传送要记住的一件事是,当恢复发生时,您的用户将被踢出报告数据库。

复制没有这个问题,但复制远不及“一劳永逸”——管理起来很费时间,而且不像你希望的那样可靠。此外,您可能必须进行架构修改才能使用复制。日志传送更加自动化和稳定,但代价是在恢复时将用户踢出。

您可以通过设置两个日志传送计划来最小化这种情况 - 一个用于工作时间的白天,一个用于其余时间。在工作时间内,您每小时(或更少)只恢复一次数据,其余时间每 15 分钟恢复一次。

于 2009-05-18T16:11:07.913 回答
2

我们开发了一个类似的环境。我们使用镜像将数据传输到我们的报告服务器,并创建了一个自动化例程,每 15 分钟创建一次数据库快照。这些快照只需要 1 到 2 秒就可以在我们的环境中创建,并为我们提供数据库的只读副本。如果您希望我更详细地介绍,请告诉我。

请注意,我们在两台服务器上都运行 Enterprise。

于 2009-05-18T16:43:09.487 回答
1

您应该将复制视为备份的替代方案。

于 2009-05-18T13:59:49.443 回答
1

我建议您考虑使用事务复制。

听起来好像您正在寻求实现与我们目前正在实现的场景类似的场景。

我们使用事务复制(尽管是实时的,您很可能希望以较低频率同步您的环境)将我们的实时生产数据库的副本卸载到另一台服务器以用于报告目的。

卸载报告数据是一种常见的复制方案,并在 Microsoft 复制文档中进行了描述。

http://msdn.microsoft.com/en-us/library/ms151784.aspx

Brent 是正确的,因为复制确实需要配置元素,以及需要解决的安全问题,但是,在我看来,使用复制有许多关键优势,包括:

  • 与日志传送相比,延迟减少。
  • 仅发布报告所需的文章(表格)的能力。
  • 减少存储需求。
  • 更少的数据被发布意味着更少的网络流量。
  • 随时访问您的报告数据/数据库。

例如,在我们的环境中,我们决定仅从生产数据库中复制我们实际需要用于报告的特定表(文章)。

我希望我所描述的内容清晰且有意义,但如果您有任何疑问,请随时与我联系。

于 2009-05-18T19:50:46.723 回答