备份SQL数据库以进行报告

时间:2009-05-18 13:53:26

标签: sql-server backup replication log-shipping sql-server-administration

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

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

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

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

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

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

任何帮助都会非常感激, 感谢

4 个答案:

答案 0 :(得分:2)

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

复制没有那个问题,但复制远没有“设置它忘记它” - 管理时间很长,而且不像你想要的那样可靠。此外,您可能必须进行架构修改才能使用复制。日志传送更自动&稳定,但代价是在恢复时将用户踢出去。

您可以通过制定两个日志传送时间表来最小化 - 一个用于工作时间的白天,另一个用于其余时间。在工作时间,您只能每小时(或更少)恢复一次数据,其余时间每15分钟恢复一次。

答案 1 :(得分:2)

我们开发了类似的环境。我们使用Mirroring将数据发送到报告服务器,并创建了一个自动例程,每15分钟创建一次数据库快照。这些快照在我们的环境中只需1到2秒即可创建,并为我们提供数据库的只读副本。如果您希望我深入了解详情,请与我们联系。

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

我建议你研究使用事务复制。

听起来好像您正在寻找与我们目前正在实施的方案类似的方案。

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

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

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

布伦特是正确的,因为复制中确实需要一个配置元素,以及需要解决的安全注意事项,但在我看来,使用复制有许多关键优势,包括:

  • 与日志相比减少了延迟 运费。
  • 仅发布的能力 需要的文章(表格) 报告。
  • 降低存储要求。
  • 发布的数据越少意味着越少 网络流量。
  • 访问您的报告 数据/数据库始终。

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

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