代码改变世界

Reporting Service 迁移: 从2005到2008

2013-06-23 20:07  @GB  阅读(810)  评论(0编辑  收藏  举报

 

一、系统描述 

源系统:

Windows Server 2003 Standard Edition SP2

SQL Server 2005 Standard Edition

 

目标系统:

Windows Server 2003 Standard Edition SP2

SQL Server 2008 Standard Edition 

 

二、备份原SQL Server 2005

1, 备份数据库文件:ReportServer和ReportServerTempDB

2, 备份Encryption keys 

 

具体操作: 

 

1, 备份数据库

采用全(Full)备份分别备份ReportServer和ReportServerTempDB(略)两个数据库。

 

 

2, 备份Encryption Keys 

这个主要是用来迁移Datasource, Subscription 等相关数据。 打开Reporting Service Configuration Manager,备份 

 

 

 将备份好的Database文件和Encryption Key文件拷到目标服务器以备用:

 

 

三、迁移到SQL Server 2008

 1, 还原(Restore) Report Server数据库

2, 还原Encryption Keys 

 

 1, 还原Report Server两个数据库:ReportServer和ReportServerTempDB(略):

 

 

 2, 还原Encryption Keys

打开Reporting Service Configuration Manager, 选择Database为ReportServer,和设好相关的配置,还原Encryption Keys:

 

 

还原之后我们查看Scale-out Deployment,会发现有两个实例,一个是现在SQL Server 2008的,另一个是我们还原产生的原SQL Server 2005,在我们浏览Report网站时会产生一个错误,见下图,因此我们需要将2005的删除, 但是当我们选择2005那个实例却无法删除,这里我们会用到rskeymgmt这个命令。

错误:"Scale-out deployment" is not supported in this edition of Reporting Services。 

 

 

 

 rskeymgmt 命令

-l  list              Lists the report servers announced in the report server
                      database

-r  installation ID   Remove the key for the specified installation ID 

 

我们使用-r参数来删除2005实例名:

 C:\Documents and Settings>rskeymgmt -r 54bdb244-7430-4084-addd-49a6cc5

90c58
Are you sure you want to delete this key? Yes (Y)/ No (N): y
 
The command completed successfully

 

删除之后,我们的Reports网站成功运行,所有Report和Datasource都在,不需要重新配置一遍了。