如何迁移 Reporting Services 安装

本主题提供有关将 SQL Server 2000 或 SQL Server 2005 Reporting Services 部署迁移到新 SQL Server 2008Reporting Services 实例的分步说明。迁移是指将应用程序数据文件移到新的 SQL Server 2008 实例。如果存在阻止升级的程序、大规模部署或运行时间要求,或者要更改安装的硬件或拓扑,则必须迁移安装。

Reporting Services 的迁移过程包括手动步骤和自动步骤。报表服务器迁移包括以下任务:

  • 备份数据库、应用程序和配置文件。

  • 备份加密密钥。

  • 安装 SQL Server 2008 的新实例。如果使用的是相同硬件,则可以将 SQL Server 2008 与现有的 SQL Server 2000 或 2005 安装并行安装。请注意,如果您并行安装,则可能需要将 SQL Server 2008 安装为命名实例。

  • 将报表服务器数据库和其他应用程序文件从 SQL Server 2000 或 2005 安装移到新的 SQL Server 2008 安装中。

  • 将任何自定义应用程序文件移到新安装中。

  • 配置报表服务器。

  • 编辑 RSReportServer.config,使其包括先前安装中的任何自定义设置。

  • 或者,为新的 Reporting Services Windows 服务组配置自定义访问控制列表 (ACL)。

  • 测试安装。

  • 在确认新实例完全正常之后,删除未使用的应用程序和工具。

请注意,如果要重用在以前的安装中创建的现有报表服务器数据库,则用于承载报表服务器数据库的 SQL Server 有版本限制。有关详细信息,请参阅创建报表服务器数据库

开始之前

即使要迁移(而不是升级)安装,也要考虑针对现有的安装运行升级顾问以帮助确定可能会影响迁移的任何问题。如果要迁移尚未安装或配置的报表服务器,则该步骤尤其有用。通过运行升级顾问,可以查明新 SQL Server 2008 安装可能不支持的自定义设置。

此外,应当注意 SQL Server 2008 中进行了多项将影响安装迁移方式的重要改动:

  • IIS 不再是必备组件。如果要将报表服务器安装迁移到新计算机上,则无需添加 Web 服务器角色。另外,URL 和身份验证的配置步骤不同于以前的版本,用来诊断和解决问题的方法和工具也是如此。

  • 报表服务器 Web 服务、报告管理器和报表服务器 Windows 服务合并到一个报表服务器服务中。所有这三个应用程序都在同一个帐户下运行。所有这三个应用程序都从 RSReportServer.config 文件中读取配置设置,这使得 RSWebApplication.config 被废弃。

  • 为了删除重叠功能而对报表管理器和 SQL Server Management Studio 进行了重新设计。每个工具都支持一组不同的任务;这些工具不再能够互换。

  • SQL Server 2008Reporting Services 不支持 ISAPI 筛选器。如果使用 ISAPI 筛选器,则必须在迁移之前重新设计报表解决方案。

  • SQL Server 2008Reporting Services 不支持 IP 地址限制。如果使用 IP 地址限制,则必须在迁移之前重新设计报表解决方案,或使用诸如防火墙、路由器或网络地址转换 (NAT) 等技术来配置被禁止访问报表服务器的地址。

  • SQL Server 2008Reporting Services 不支持客户端安全套接字层 (SSL) 证书。如果使用客户端 SSL 证书,则必须在迁移之前重新设计报表解决方案。

  • 如果使用 Windows 集成身份验证之外的身份验证类型,则必须将 RSReportServer.config 文件中的 <AuthenticationTypes> 元素更新为支持的身份验证类型。支持的身份验证类型包括 NTLM、Kerberos、Negotiate 和 Basic。SQL Server 2008Reporting Services 不支持匿名、.NET Passport 和摘要式身份验证。

  • 如果在报表环境中使用自定义级联样式表,则这些样式表不会被迁移。必须在迁移后对它们进行手动移动。

有关 SQL Server 2008Reporting Services 中更改的详细信息,请参阅升级顾问文档和新增功能 (Reporting Services)

备份文件和数据

在安装新 Reporting Services 实例之前,请确保对当前安装中的所有文件进行备份。

1.

<div class="alert">

<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/ms173879.alert_caution(zh-cn,SQL.100).gif" title="重要说明" alt="重要说明" class="note" /><strong>重要提示</strong></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>备份报表服务器数据库的加密密钥。此步骤对于成功迁移至关重要。而且,在迁移过程中,必须还原加密密钥才能使报表服务器重新获得对加密数据的访问权限。若要备份加密密钥,可以使用 Reporting Services 配置工具(或者,如果要从 SQL Server 2000 迁移的话,可以使用 <strong>rskeymgmt</strong> 实用工具)。</p></td>
</tr>
</tbody>
</table>

</div>
  1. 使用任一支持的备份 SQL Server 数据库的方法来备份报表服务器数据库。有关详细信息,请参阅将报表服务器数据库移至其他计算机中有关如何备份报表服务器数据库的说明。

  2. 备份报表服务器配置文件。要备份的文件包括:

    1. Rsreportserver.config

    2. Rswebapplication.config

    3. Rssvrpolicy.config

    4. Rsmgrpolicy.config

    5. Reportingservicesservice.exe.config

    6. 报表服务器和报表管理器 ASP.NET 应用程序的 Web.config。

    7. ASP.NET 的 Machine.config(如果您为报表服务器操作修改过它)。

安装 SQL Server 2008 Reporting Services

在仅文件模式下安装新的报表服务器实例,以便可以将它配置为使用非默认值。对于命令行安装,请使用 FilesOnly 参数。在安装向导中,选中**“安装但不配置”**选项。

单击下面的链接之一以查看有关如何安装新 Reporting Services 实例的说明:

移动报表服务器数据库

报表服务器数据库包含已发布的报表、模型、共享数据源、计划、资源、订阅和文件夹,还包含系统属性、项属性以及对报表服务器内容的访问权限。

如果您的迁移涉及到使用另一个数据库引擎实例,则必须将报表服务器数据库移到新的数据库引擎实例中。如果要使用同一个数据库引擎实例,请跳至“配置报表服务器”。

若要移动报表服务器数据库,请执行以下操作:

  1. 选择要使用的数据库引擎实例。SQL Server 2008Reporting Services 要求使用 SQL Server 2005 或 2008 来承载报表服务器数据库。SQL Server 2000 不能再用来为 SQL Server 2008Reporting Services 承载报表服务器数据库。如果使用的是在 8.0 兼容模式下运行的 SQL Server 2000 或 SQL Server 2005,则必须升级数据库引擎或选择另一个数据库引擎实例。

  2. 启动 SQL Server Management Studio 并连接到数据库引擎。

  3. 如果数据库引擎从未承载过报表服务器数据库,请在系统数据库中创建 RSExecRole。有关详细信息,请参阅如何创建 RSExecRole

  4. 按照将报表服务器数据库移至其他计算机中的说明操作。

请记住,报表服务器数据库和临时数据库相互依赖而且必须一起移动。请不要复制数据库;复制不会将所有安全设置转移至新安装。请不要移动用于计划报表服务器操作的 SQL Server 代理作业。报表服务器将自动重新创建这些作业。

移动自定义程序集或扩展插件

如果安装中包括自定义的报表项、程序集或扩展插件,则必须重新部署这些自定义组件。如果没有使用自定义组件,请跳至“配置报表服务器”。

若要重新部署自定义组件,请执行以下操作:

  1. 确定是支持程序集还是需要重新编译程序集:

    • 为 SQL Server 2000 版本创建的自定义身份验证扩展插件必须进行重新编译。

    • 必须使用呈现对象模型 (ROM) 重新编写 SQL Server 2008Reporting Services 的自定义呈现扩展插件。

    • SQL Server 2008Reporting Services 不支持 HTML 3.2 和 HTML OWC 呈现器。

    • 其他自定义程序集应当不需要重新编译。

  2. 将这些程序集移到新的报表服务器和报表管理器 \bin 文件夹中。在 SQL Server 2008 中,对于默认的 SQL Server 2008Reporting Services 实例,报表服务器二进制文件位于 \Program files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin。

  3. 修改配置文件,以便为自定义组件添加条目。所用程序集的种类不同,这些条目也会有所不同。有关在何处放置文件和添加配置条目的说明,请参阅以下内容:

    1. 部署自定义程序集

    2. 如何部署自定义报表项

    3. 部署数据处理扩展插件

    4. 部署传递扩展插件

    5. 部署呈现扩展插件

    6. 实现安全扩展插件

配置报表服务器

为报表服务器 Web 服务和报表管理器配置 URL,并配置与报表服务器数据库的连接。

如果要迁移扩展部署,则应使所有报表服务器节点脱机并按照一次迁移一个服务器的方式迁移各个服务器。一旦迁移了第一个报表服务器并且其成功连接到报表服务器数据库,则该报表服务器数据库版本将自动升级到 SQL Server 2008 数据库版本。

注意注意

如果扩展部署中的所有报表服务器均联机并且尚未被迁移,则它们可能会遇到 rsInvalidReportServerDatabase 异常,因为它们在连接到升级的报表服务器数据库之后使用的仍是旧版架构。

注意注意

如果您迁移的报表服务器已配置为用于扩展部署的共享数据库,则需要首先从 ReportServer 数据库的 Keys 表中删除所有旧的加密密钥,然后才能配置报表服务器服务。如果未删除这些密钥,则迁移的报表服务器将尝试在扩展部署模式下初始化。有关详细信息,请参阅添加和删除扩展部署的加密密钥配置和管理加密密钥

无法使用 Reporting Services 配置管理器删除扩展密钥。必须使用 SQL Server Management Studio 从 ReportServer 数据库的 Keys 表中删除旧密钥。删除 Keys 表中的所有行。这将清除该表并且对其进行准备以便仅还原对称密钥,如下面的步骤中所述。

在删除密钥前,建议您首先备份对称加密密钥。可以使用 Reporting Services 配置管理器来备份密钥。打开配置管理器,单击“加密密钥”选项卡,然后单击“备份”按钮。您还可以编写 WMI 命令的脚本以便备份加密密钥。有关 WMI 的详细信息,请参阅 BackupEncryptionKey 方法 (WMI MSReportServer_ConfigurationSetting)

  1. 启动 Reporting Services 配置管理器,然后连接到刚安装的 Reporting Services 实例。 有关详细信息,请参阅如何启动 Reporting Services 配置

  2. 为报表服务器和报表管理器配置 URL。有关详细信息,请参阅如何配置 URL(Reporting Services 配置)

  3. 配置报表服务器数据库,并从以前的安装中选择现有的报表服务器数据库。成功配置之后,报表服务器服务将重新启动,并且一旦将其与报表服务器数据库建立了连接,该数据库将自动升级到 SQL Server 2008Reporting Services。有关如何运行“更改服务器向导”(该向导可用来创建或选择报表服务器数据库)的详细信息,请参阅如何创建报表服务器数据库(Reporting Services 配置)

  4. 还原加密密钥。在针对报表服务器数据库中预先存在的连接字符串和凭据启用可逆加密时,此步骤是必不可少的。有关详细信息,请参阅备份和还原加密密钥

  5. 如果报表服务器安装在新计算机上,并且您使用的是 Windows 防火墙,请确保该报表服务器侦听的 TCP 端口处于打开状态。默认情况下,此端口为 80。有关详细信息,请参阅如何将防火墙配置为允许报表服务器访问

  6. 如果报表服务器安装在 Windows Vista 或 Windows Server 2008 上,请创建角色分配并向“受信任的站点”中添加报表服务器站点以支持本地管理。有关详细信息,请参阅如何在 Windows Vista 和 Windows Server 2008 上为本地管理配置报表服务器

将自定义配置设置复制到 RSReportServer.config 文件

如果对先前安装中的 RSReportServer.config 文件或 RSWebApplication.config 文件进行过修改,则应当在新的 RSReportServer.config 文件中进行同样的修改。下面的列表概述了修改先前配置文件的某些原因,并提供了一些指向其他信息的链接,这些信息介绍如何在 SQL Server 2008 中配置同样的设置。

自定义

信息

具有自定义设置的报表服务器电子邮件传递

如何配置报表服务器以进行电子邮件传递(Reporting Services 配置)

数据处理扩展插件

在 Reporting Services 中配置数据处理扩展插件

设备信息设置

在 RSReportServer.Config 中自定义呈现扩展插件参数

远程实例上的报表管理器

如何配置报表管理器

Windows 服务组与安全 ACL

在 SQL Server 2008Reporting Services 中存在一个服务组,即 Reporting Services Windows 服务组。可使用该组为与 SQL Server 2008Reporting Services 一起安装的所有注册表项、文件和文件夹创建安全 ACL。此 Windows 组的名称以 SQLServerReportServerUser$<计算机名>$<实例名> 格式显示。此组将取代 SQL Server 2005Reporting Services 中的两个 Windows 服务组。如果您已将自定义 ACL 与任一 SQL Server 2005Reporting Services Windows 组相关联,则需要将这些 ACL 应用于 SQL Server 2008Reporting Services 中新报表服务器实例的新组。

验证部署

  1. 打开浏览器,并在 URL 地址中键入报表服务器虚拟目录和报表管理器虚拟目录,对这些目录进行测试。有关详细信息,请参阅如何验证 Reporting Services 安装

  2. 测试报表,并验证它们是否包含所需的数据。检查数据源信息,查看是否仍指定了数据源连接信息。报表服务器在处理和呈现报表时使用 SQL Server 2008 报表对象模型,但是它不将 SQL Server 2000 或 2005 构造替换为新的报表定义语言元素。若要了解有关如何在 SQL Server 2008 报表服务器上运行现有报表的详细信息,请参阅升级报表

删除未使用的程序和文件

一旦成功将报表服务器迁移到 SQL Server 2008Reporting Services 实例,则可能需要执行以下步骤以删除不再需要的程序和文件。

  1. 如果不再需要早期版本的 Reporting Services,则将其卸载。此步骤不会删除下列项,但是,如果不再需要这些项,则可以手动将其删除:

    • 旧的报表服务器数据库

    • RsExec 角色

    • 报表服务器服务帐户

    • 报表服务器 Web 服务的应用程序池

    • 报表管理器和报表服务器的虚拟目录

    • 报表服务器日志文件

  2. 如果此计算机上不再需要 IIS,则将其删除。

  3. 删除 RSActivate.exe(仅限 SQL Server 2000 安装中)。