迁移是指将应用程序数据文件移到新的 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 2008 Reporting Services 不支持 ISAPI 筛选器。如果使用 ISAPI 筛选器,则必须在迁移之前重新设计报表解决方案。
- SQL Server 2008 Reporting Services 不支持 IP 地址限制。如果使用 IP 地址限制,则必须在迁移之前重新设计报表解决方案,或使用诸如防火墙、路由器或网络地址转换 (NAT) 等技术来配置被禁止访问报表服务器的地址。
- SQL Server 2008 Reporting Services 不支持客户端安全套接字层 (SSL) 证书。如果使用客户端 SSL 证书,则必须在迁移之前重新设计报表解决方案。
- 如果使用 Windows 集成身份验证之外的身份验证类型,则必须将 RSReportServer.config 文件中的 <AuthenticationTypes> 元素更新为支持的身份验证类型。支持的身份验证类型包括 NTLM、Kerberos、Negotiate 和 Basic。SQL Server 2008 Reporting Services 不支持匿名、.NET Passport 和摘要式身份验证。
- 如果在报表环境中使用自定义级联样式表,则这些样式表不会被迁移。必须在迁移后对它们进行手动移动。
有关 SQL Server 2008 Reporting Services 中更改的详细信息,请参阅升级顾问文档和新增功能 (Reporting Services)。
在安装新 Reporting Services 实例之前,请确保对当前安装中的所有文件进行备份。
- 备份报表服务器数据库的加密密钥。此步骤对于成功迁移至关重要。而且,在迁移过程中,必须还原加密密钥才能使报表服务器重新获得对加密数据的访问权限。若要备份加密密钥,可以使用 Reporting Services 配置工具(或者,如果要从 SQL Server 2000 迁移的话,可以使用 rskeymgmt 实用工具)。
- 使用任一支持的备份 SQL Server 数据库的方法来备份报表服务器数据库。有关详细信息,请参阅将报表服务器数据库移至其他计算机中有关如何备份报表服务器数据库的说明。
- 备份报表服务器配置文件。要备份的文件包括:
- Rsreportserver.config
- Rswebapplication.config
- Rssvrpolicy.config
- Rsmgrpolicy.config
- Reportingservicesservice.exe.config
- 报表服务器和报表管理器 ASP.NET 应用程序的 Web.config。
- ASP.NET 的 Machine.config(如果您为报表服务器操作修改过它)。
- Rsreportserver.config
报表服务器数据库包含已发布的报表、模型、共享数据源、计划、资源、订阅和文件夹,还包含系统属性、项属性以及对报表服务器内容的访问权限。
如果您的迁移涉及到使用另一个数据库引擎实例,则必须将报表服务器数据库移到新的数据库引擎实例中。如果要使用同一个数据库引擎实例,请跳至“配置报表服务器”。
若要移动报表服务器数据库,请执行以下操作:
- 选择要使用的数据库引擎实例。SQL Server 2008 Reporting Services 要求使用 SQL Server 2005 或 2008 来承载报表服务器数据库。SQL Server 2000 不能再用来为 SQL Server 2008 Reporting Services 承载报表服务器数据库。如果使用的是在 8.0 兼容模式下运行的 SQL Server 2000 或 SQL Server 2005,则必须升级数据库引擎或选择另一个数据库引擎实例。
- 启动 SQL Server Management Studio 并连接到数据库引擎。
- 如果数据库引擎从未承载过报表服务器数据库,请在系统数据库中创建 RSExecRole。有关详细信息,请参阅如何创建 RSExecRole。
- 按照将报表服务器数据库移至其他计算机中的说明操作。
请记住,报表服务器数据库和临时数据库相互依赖而且必须一起移动。请不要复制数据库;复制不会将所有安全设置转移至新安装。请不要移动用于计划报表服务器操作的 SQL Server 代理作业。报表服务器将自动重新创建这些作业。
如果安装中包括自定义的报表项、程序集或扩展插件,则必须重新部署这些自定义组件。如果没有使用自定义组件,请跳至“配置报表服务器”。
若要重新部署自定义组件,请执行以下操作:
- 确定是支持程序集还是需要重新编译程序集:
- 为 SQL Server 2000 版本创建的自定义身份验证扩展插件必须进行重新编译。
- 必须使用呈现对象模型 (ROM) 重新编写 SQL Server 2008 Reporting Services 的自定义呈现扩展插件。
- SQL Server 2008 Reporting Services 不支持 HTML 3.2 和 HTML OWC 呈现器。
- 其他自定义程序集应当不需要重新编译。
- 为 SQL Server 2000 版本创建的自定义身份验证扩展插件必须进行重新编译。
- 将这些程序集移到新的报表服务器和报表管理器 \bin 文件夹中。在 SQL Server 2008 中,对于默认的 SQL Server 2008 Reporting Services 实例,报表服务器二进制文件位于 \Program files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin。
- 修改配置文件,以便为自定义组件添加条目。所用程序集的种类不同,这些条目也会有所不同。有关在何处放置文件和添加配置条目的说明,请参阅以下内容:
为报表服务器 Web 服务和报表管理器配置 URL,并配置与报表服务器数据库的连接。
如果要迁移扩展部署,则应使所有报表服务器节点脱机并按照一次迁移一个服务器的方式迁移各个服务器。一旦迁移了第一个报表服务器并且其成功连接到报表服务器数据库,则该报表服务器数据库版本将自动升级到 SQL Server 2008 数据库版本。
注意: |
---|
如果扩展部署中的所有报表服务器均联机并且尚未被迁移,则它们可能会遇到 rsInvalidReportServerDatabase 异常,因为它们在连接到升级的报表服务器数据库之后使用的仍是旧版架构。 |
- 启动 Reporting Services 配置工具,然后连接到刚安装的 Reporting Services 实例。有关详细信息,请参阅如何启动 Reporting Services 配置。
- 为报表服务器和报表管理器配置 URL。有关详细信息,请参阅如何配置 URL(Reporting Services 配置)。
- 配置报表服务器数据库,并从以前的安装中选择现有的报表服务器数据库。成功配置之后,报表服务器服务将重新启动,并且一旦将其与报表服务器数据库建立了连接,该数据库将自动升级到 SQL Server 2008 Reporting Services。有关如何运行“更改服务器向导”(该向导可用来创建或选择报表服务器数据库)的详细信息,请参阅如何创建报表服务器数据库(Reporting Services 配置)。
- 还原加密密钥。在针对报表服务器数据库中预先存在的连接字符串和凭据启用可逆加密时,此步骤是必不可少的。有关详细信息,请参阅备份和还原加密密钥。
- 如果报表服务器安装在新计算机上,并且您使用的是 Windows 防火墙,请确保该报表服务器侦听的 TCP 端口处于打开状态。默认情况下,此端口为 80。有关详细信息,请参阅如何将防火墙配置为允许报表服务器访问。
- 如果报表服务器安装在 Windows Vista 或 Windows Server 2008 上,请创建角色分配并向“受信任的站点”中添加报表服务器站点以支持本地管理。有关详细信息,请参阅如何在 Windows Vista 和 Windows Server 2008 上为本地管理配置报表服务器。
在 SQL Server 2008 Reporting Services 中存在一个服务组,即 Reporting Services Windows 服务组。可使用该组为与 SQL Server 2008 Reporting Services 一起安装的所有注册表项、文件和文件夹创建安全 ACL。此 Windows 组的名称以 SQLServerReportServerUser$<计算机名>$<实例名> 格式显示。此组将取代 SQL Server 2005 Reporting Services 中的两个 Windows 服务组。如果您已将自定义 ACL 与任一 SQL Server 2005 Reporting Services Windows 组相关联,则需要将这些 ACL 应用于 SQL Server 2008 Reporting Services 中新报表服务器实例的新组。
- 打开浏览器,并在 URL 地址中键入报表服务器虚拟目录和报表管理器虚拟目录,对这些目录进行测试。有关详细信息,请参阅如何验证 Reporting Services 安装。
- 测试报表,并验证它们是否包含所需的数据。检查数据源信息,查看是否仍指定了数据源连接信息。报表服务器在处理和呈现报表时使用 SQL Server 2008 报表对象模型,但是它不将 SQL Server 2000 或 2005 构造替换为新的报表定义语言元素。若要了解有关如何在 SQL Server 2008 报表服务器上运行现有报表的详细信息,请参阅升级报表。