【问题标题】:How to set log-shipping on ReportServer (Reporting Service Database)如何在 ReportServer(报告服务数据库)上设置日志传送
【发布时间】:2013-09-09 12:26:35
【问题描述】:

有两个sql实例

  1. SQLInst1 - 作为 Prod 工作
  2. SQLInst2 - 作为 DR 服务器工作

在两台服务器上,我们都有报告服务数据库 - Reportserver 和 Reportservertempdb 数据库。我们希望在 ReportServer 数据库上设置日志传送,以便可以将数据从 Prod ReportServer 数据库复制到 DR Reportserver。我们想要这样做的原因;在 DR 测试时,复制的 ReportSErver 数据库与我们的 prod ReportServer 具有相同的信息。因此,以下是我寻求您帮助的要点;

  • 我们可以在 ReportServer 数据库上设置日志传送吗?
  • 我们是否需要为服务器(Reportserver 和 Reportservertempdb)设置日志传送?
  • Reportservertempdb 数据库的用途是什么?

【问题讨论】:

    标签: sql sql-server reporting-services ssrs-2008


    【解决方案1】:

    您可以像任何其他数据库一样为 reportserver 数据库设置日志传送,但还有一些其他注意事项。

    • reportservertempdb

    您询问了该数据库的用途。来自Books Online

    每个报表服务器数据库都使用一个相关的临时数据库来存储 会话和执行数据、缓存报告和工作表 由报表服务器生成。

    在备份方面,由于它只存储临时数据,因此您只需要一次完整备份,即不需要日志传送。事实上,Microsoft 建议将其保持在 simple 恢复模式,因此在这种情况下您无法启用日志传送。

    微软还建议:

    如果您备份临时数据库并随后恢复它,您 应该删除内容。一般来说,删除是安全的 临时数据库的内容。但是,您必须 删除后重新启动报表服务器 Windows 服务 内容。

    因此,在您的情况下,您应该将其视为故障转移的一部分。

    • 加密密钥

    SSRS 使用加密来存储安全凭据和连接信息。启用此功能后,需要将其备份并应用于新实例。

    要备份对称密钥,您可以使用 Reporting Services 配置工具或 rskeymgmt 实用程序。

    你用同样的方法恢复密钥。

    Back Up and Restore Reporting Services Encryption Keys

    • 服务器端 DLL

    任何共享的自定义代码模块,如果部署在主服务器上,都需要在故障转移服务器上可用。

    • 配置文件

    任何非标准设置都需要同时应用于主服务器和故障转移服务器。

    • 报表管理器和 Web 服务 URL

    从您的问题看来,您的 SSRS 服务器名称不同。这可能会导致上述基于服务器的 URL 出现问题。如果您恢复报表服务器数据库并且其配置的 URL 仍然包含旧的服务器名称,显然这会导致问题。您将需要考虑在故障转移期间手动更新此内容,或在您的环境中配置一个 DNS 条目,以便能够解决此差异 - 同样,这需要成为计划的一部分。

    • 结论

    我建议您熟悉Backup and Restore Operations for Reporting Services 的信息。您可以看到要考虑的不仅仅是一个数据库。即使这一切都假设所有内容都拥有同一个域 - DR 并非总是如此。

    与任何 DR 计划一样,唯一确定的方法是进行测试,直到一切都万无一失。

    【讨论】:

    • 嗨,Ian Preston,您的回复真棒...我已经完成了很多次日志传送,但由于 reportservertempdb,我感到很困惑。关于加密密钥备份,我是否可以随时在 DR 服务器上恢复 prod 服务器的加密密钥备份,或者仅在 DR 故障转移时,我将从 Prod 服务器备份加密密钥并恢复它 DR 服务器?
    • 这不是我必须专门做的事情,但由于至少关键信息存储在数据库中,因此在数据库启动并运行后(即故障转移后)进行密钥恢复是有意义的.在日志传送期间,故障转移数据库处于恢复模式,因此对于此类事情显然不可用!
    【解决方案2】:

    首先我想告诉你什么是日志传送。(我假设你不知道基础知识)

    SQL Server Log shipping 允许您自动将transaction log 备份从主服务器实例上的primary database 发送到单独的辅助服务器实例上的一个或多个secondary databases(通常是热站点-故障安全服务器)。事务日志备份分别应用于每个辅助数据库。

    备份和恢复操作的状态很重要,如果这些操作未能按计划进行可能会发生故障。

    日志传送包括三个操作:

    • 在主服务器实例上备份事务日志。
    • 将事务日志文件复制到辅助服务器实例。
    • 在辅助服务器实例上恢复日志备份。

    现在,您发送日志的目的是为了测试目的而同步数据,您可以这样做,这是最好的方法,因为这不会对服务器造成负担,因为只有事务日志通过服务器发送,从而节省了大量时间而不是通过服务器同步整个数据库。

    是的,如果需要,您可以使用报告服务器(也可以使用数据库)进行日志传送。

    典型的日志传送配置

    下图显示了具有主服务器实例、三个辅助服务器实例和一个监控服务器实例的日志传送配置。该图说明了备份、复制和恢复作业执行的步骤,如下所示:

    1. 主服务器实例运行备份作业来备份主数据库上的事务日志。然后,此服务器实例将日志备份放入主日志备份文件中,并将其发送到备份文件夹。在此图中,备份文件夹位于共享目录 - 备份共享中。
    2. 三个辅助服务器实例中的每一个都运行自己的复制作业,将主日志备份文件复制到自己的本地目标文件夹。
    3. 每个辅助服务器实例运行自己的还原作业,以将日志备份从本地目标文件夹还原到本地辅助数据库。

    现在,监控服务器是可选的,因此您可以忽略它,您只有一台辅助服务器,因此,主服务器将具有日志生成(备份)和日志传送。

    辅助服务器将恢复日志。

    所以你需要在两个服务器上实现,但两端的工作会有所不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      相关资源
      最近更新 更多