迁移 Reporting Services
本主题提供了将 SQL Server 2000 Reporting Services 部署迁移到新的 SQL Server 2005 Reporting Services 实例的分步说明。如果存在阻止升级的程序、大规模部署或紧急需求,或者要更改硬件或安装的拓扑结构,迁移安装是个不错的办法。Reporting Services 的迁移过程包括手动步骤和自动步骤。报表服务器迁移包括以下任务:
- 备份应用程序和配置文件。
- 安装一个与现有 SQL Server 2000 安装并行的新 SQL Server 2005 实例。由于 SQL Server 2000 Reporting Services 总是以默认 SQL Server 实例运行,所以必须将安装的新 SQL Server 2005 实例配置为命名实例。
- 将 SQL Server 2000 安装中的报表服务器数据库移动至新的 SQL Server 2005 安装中。如果要将此数据库移动至新的数据库引擎实例,所以您必须创建 RSExecRole。
- 确认新实例完全正常运行后,卸载 SQL Server 2000 Reporting Services。
请注意,如果您要重新使用在以前的安装中创建的现有报表服务器数据库,用于承载报表服务器数据库的 SQL Server 是有版本限制的。有关详细信息,请参阅创建报表服务器数据库。
备份文件和数据
在安装新的 Reporting Services 实例之前,请确定备份了当前安装中的所有文件。
- 备份报表服务器数据库的对称密钥。使用 rskeymgmt 实用工具来执行此操作。
- 使用任一支持备份 SQL Server 数据库的方法来备份报表服务器数据库。有关详细信息,请参阅将报表服务器数据库移至另一台计算机中有关如何备份报表服务器数据库的说明。
- 备份报表服务器配置文件。要备份的文件包括:
- Rsreportserver.config
- Rswebapplication.config
- Rssvrpolicy.config
- Rsmgrpolicy.config
- Reportingservicesservice.exe.config
- 报表服务器和报表管理器 ASP.NET 应用程序的 Web.config 文件。
- ASP.NET. 的 Machine.config
- 备份报表服务器的虚拟目录设置。使用 Internet 服务信息管理器备份该设置。
- 为了提高报表服务器的可用性,将报表服务器数据库设置为只读,并对 SQL Server 数据库引擎修改 RSExec 角色以停止报表服务器数据库中的事务。
安装 SQL Server 2005 Reporting Services
安装 Reporting Services 和 Service Pack 1
运行 SQL Server 2005 安装程序安装新的 Reporting Services 实例。
在“要安装的组件”页上,选择**“Reporting Services”**。如果希望在同一台计算机上安装新的数据库引擎实例和报表设计器,则还可以选择 SQL Server Database Services 以及工作站组件、联机丛书和开发工具。
在“实例名”中,为要安装的 SQL Server 2005 实例键入一个新名称。不要指定默认实例。如果指定默认实例,则将对现有安装执行就地升级,而不是创建一个新的报告服务器实例。
在“服务帐户”中,为报表服务器 Windows 服务指定一个服务帐户。有关服务帐户的详细信息,请参阅设置 Windows 服务帐户。
或者,在安装结束后启动服务时,选择“SQL Server Agent”(必须运行 SQL Server Agent 以支持计划操作)。
在“报表服务器安装选项”中,选择**“安装但不配置服务器”**选项。通过选择该选项,可以在完成安装后再配置报表服务器。
完成安装。
如果应用的是 Service Pack 1,请停止所有 SQL Server 2005 服务(包括报表服务器 Windows 服务、SQL Server Agent、SQL Server Browser 和 SQL Server Fulltext Search)。
应用 Service Pack 1,然后重新启动各项服务。
创建 RSExecRole 并附加报表服务器数据库
如果您要将报表服务器数据库移动到从来没有安装过报表服务器数据库的数据库引擎的实例,则您必须在 Master 和 MSDB 系统数据库中创建 RSExecRole。该角色必须存在,数据库升级脚本才能运行。
如果此角色不存在并且您尝试升级该数据库,则您将看到以下错误:“应用数据库升级脚本时出现问题。”
Reporting Services 使用扩展存储过程用于 SQL Server 代理服务以支持计划操作。下列步骤说明如何向 RSExecRole 角色授予这些过程的执行权限。
使用 Management Studio 在 Master 系统数据库中创建 RSExecRole
启动 SQL Server Management Studio 并连接到承载报表服务器数据库的 数据库引擎 实例。
打开**“数据库”**。
打开**“系统数据库”**。
打开 Master。
打开**“安全性”**。
打开**“角色”**。
右键单击**“数据库角色”,然后选择“新建数据库角色”**。将显示“常规”页。
在**“角色名称”**中,键入 RSExecRole。
在**“所有者”**中,键入 DBO。
单击**“安全对象”**。
单击**“添加”。此时,将显示“添加对象”对话框。“指定对象”**选项默认情况下处于选中状态。
单击**“确定”**。
单击**“对象类型”**。
单击**“扩展存储过程”**。
单击**“确定”**。
单击**“浏览”**。
向下滚动扩展存储过程列表,然后选择下列各项:
- xp_sqlagent_enum_jobs
- xp_sqlagent_is_starting
- xp_sqlagent_notify
单击**“确定”,然后再次单击“确定”**。
在**“执行”一行的“授予”列中,单击复选框,然后单击“确定”**。
对于其余的每个存储过程,重复此操作。必须向 RSExecRole 授予全部三个存储过程的执行权限。
在 MSDB 中创建 RSExecRole
Reporting Services 使用 SQL Server 代理服务的存储过程并从系统表中检索作业信息,以支持计划操作。下列步骤说明如何向 RSExecRole 授予这些过程的执行权限和对表的选择权限。
在 MSDB 系统数据库中创建 RSExecRole
重复相似的步骤,授予 MSDB 中存储过程和表的权限。若要简化这些步骤,需要单独设置存储过程和表。
打开 MSDB。
打开**“安全性”**。
打开**“角色”**。
右键单击**“数据库角色”,然后选择“新建数据库角色”**。将显示“常规”页。
在“角色名称”中,键入 RSExecRole。
在“所有者”中,键入 DBO。
单击**“安全对象”**。
单击**“添加”。此时,将显示“添加对象”对话框。“指定对象”**选项默认情况下处于选中状态。
单击**“确定”**。
单击**“对象类型”**。
单击**“存储过程”**。
单击**“确定”**。
单击**“浏览”**。
向下滚动项目列表,然后选择下列各项:
- sp_add_category
- sp_add_job
- sp_add_jobschedule
- sp_add_jobserver
- sp_add_jobstep
- sp_delete_job
- sp_help_category
- sp_help_job
- sp_help_jobschedule
- sp_verify_job_identifiers
单击**“确定”,然后再次单击“确定”**。
选择第一个存储过程:sp_add_category。
在**“执行”一行的“授予”列中,单击复选框,然后单击“确定”**。
对于其余的每个存储过程,重复此操作。必须向 RSExecRole 授予全部十个存储过程的执行权限。
在“安全对象”选项卡上,再次单击**“添加”。此时,将显示“添加对象”对话框。“指定对象”**选项默认情况下处于选中状态。
单击**“确定”**。
单击**“对象类型”**。
单击**“表”**。
单击**“确定”**。
单击**“浏览”**。
向下滚动项目列表,然后选择下列各项:
- syscategories
- sysjobs
单击**“确定”,然后再次单击“确定”**。
选择第一个表:syscategories。
在**“选择”一行的“授予”列中,单击复选框,然后单击“确定”**。
对于 sysjobs 表重复此操作。必须向 RSExecRole 授予这两个表的选择权限。
附加报表服务器数据库并复制配置文件
将从 SQL Server 2000 安装下备份的报表服务器数据库附加或还原到新实例。要求提供报表服务器数据库和临时数据库,并且必须一起移动。
请不要复制数据库;复制不会将所有安全设置转移至新安装。
如果使用的是新的 SQL Server 2005 数据库引擎实例,则可用 SQL Server Management Studio 来附加或还原数据库。
附加数据库和复制文件
使用将报表服务器数据库移至另一台计算机中的说明附加或移动数据库。如果是使用 SQL Server 2000 承载报表服务器数据库,则可为新安装创建一个数据库副本。
将 SQL Server 2000 安装所用的 rsreportserver.config 中的设置复制到新的 SQL Server 2005 安装的 rsreportserver.config 文件中:
- 复制 InstallationID 项。如果要避免在报表服务器数据库的键表中出现两个未用的项,则必须复制安装 ID。这两个未用行都是 SQL Server 2000 实例的安装标识符。未用行是不完整的,每一行缺少的是机器名和实例名。机器名和实例名对于 SQL Server 2000 实例来说都是未定义的,因此报表服务器数据库升级后,键表中的这些栏没有值。请注意,如果一个项缺少机器名或实例名,就无法在 Reporting Services 配置工具中将其删除。但是,您可以编辑键表以删除这些行,或添加缺少的机器名和实例名。也可将未用的项留在表中,这些未用的项对报表服务器操作没有任何影响。
- 复制要在新安装中使用的其他任何自定义设置。如果要在安装中使用自定义扩展插件,那么,在使用这些插件之前,可能需要将其重新编译。有关详细信息,请参阅升级顾问产品文档。
如果有自定义跟踪设置,请将这些项复制到新安装的 Web.config 或 Machine.config 文件中。
配置报表服务器
配置报表服务器设置
启动 Reporting Services 配置工具,然后连接到刚安装的 SQL Server 2005 报表服务器实例。
创建报表服务器和报表管理器的虚拟目录。虚拟目录名称必须是唯一的,因此,如果在 SQL Server 2000 Reporting Services 安装中使用了默认名称,则必须为 SQL Server 2005 安装选择非默认名称。
创建报表服务器虚拟目录时,应该会自动配置 Web 服务标识。如果配置不正确,则可创建一个新的应用程序池用于运行服务。
报表服务器 Windows 服务应该会在安装过程中自动配置。如果要用其他帐户运行该服务,则可现在就修改其配置。有关服务帐户的详细信息,请参阅 SQL Server 联机丛书中的设置 Windows 服务帐户和 Reporting Services 部署中的连接和帐户。
在“服务器状态”页上,单击**“停止”**以停止报表服务器 Windows 服务。此步骤非常重要。如果不停止该服务,数据库升级操作就可能会在完全更新架构之前超时,从而将数据库停留在中间状态。
在“数据库安装”页的“服务器名称”中,选择用于承载要升级的报表服务器数据库的 SQL Server 实例,然后单击**“连接”**。
选择要在 SQL Server 2005 安装中使用的报表服务器数据库。
单击**“升级”**。报表服务器数据库和临时数据库都将升级为新架构。应用数据库升级脚本时出现问题。”
指定将报表服务器连接到报表服务器数据库的帐户。
在“加密密钥”页中,还原在报表服务器数据库中对内容进行加密和解密时所用的密钥。这是本主题“备份文件和数据”部分步骤 1 中备份的加密密钥。
打开浏览器,并在 URL 地址中键入报表服务器虚拟目录和报表管理器虚拟目录,对这些目录进行测试。为该实例指定的 URL 和数据库连接信息必须包括实例名。
测试报表,并验证它们是否包含所需的数据。检查数据源信息,查看是否仍指定了数据源连接信息。
卸载 SQL Server 2000 Reporting Services。
将虚拟目录重命名为早期安装的版本中使用的名称。如果使用了自定义虚拟目录设置,请更新创建的虚拟目录,以便使用新值。
请参阅
概念
其他资源
报表服务器数据库
Reporting Services 的向后兼容性
Reporting Services 配置工具