保证无风险升级SQL Server报表服务

日期: 2012-04-24 作者:Roman Rehak翻译:包春霞 来源:TechTarget中国 英文

无论何时要执行SQL Server升级,都要承担一定的风险,例如服务器或者应用服务有可能会中断。当这种情况发生时,就需要恢复到以前的版本、卸载软件、重新安装以前的版本、恢复配置和数据库。这可能会花许多额外的时间,无形中增加了SQL Server升级的时间窗。而同时这期间软件也不能用。

一种更好的升级方式是用SSRS服务器升级SQL Server Report Services实例(SSRS),一旦升级失败,SSRS服务器能就接管服务。这种方法实质上能够有效地控制风险。   SSRS由几个组件组成——Windows服务、.net web服务、ASP.NET 应用和后台数据库,它们协同工作。所有的报……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

无论何时要执行SQL Server升级,都要承担一定的风险,例如服务器或者应用服务有可能会中断。当这种情况发生时,就需要恢复到以前的版本、卸载软件、重新安装以前的版本、恢复配置和数据库。这可能会花许多额外的时间,无形中增加了SQL Server升级的时间窗。而同时这期间软件也不能用。一种更好的升级方式是用SSRS服务器升级SQL Server Report Services实例(SSRS),一旦升级失败,SSRS服务器能就接管服务。这种方法实质上能够有效地控制风险。

  SSRS由几个组件组成——Windows服务、.net web服务、ASP.NET 应用和后台数据库,它们协同工作。所有的报表、文件夹或其他SSRS对象都被存储在名为“report server”的数据库中。将SSRS从一个服务器迁移到另外一个服务器包括几步,但主要的步骤是在新的实例上备份和恢复数据库。这一步会将所有的内容移到另外的服务器中。你可以用这个方法很轻松地迁移。如果你正在计划实施替代升级,可以在网络中架设另外一台服务器作为备用,当备用服务器启来后,就可以在原来的服务器上实施升级了。如果升级的过程中出了什么问题,如安装脚本失败或有意想不到的错误等情况,我们不用卸载软件并重新安装。SQL Server和SSRS只需要简单地用备用作为主服务器就可以了。

  在备用服务器上安装SQL Server、SSRS。安装选项相当小;只需要SQL Server功能和SSRS实例就可以了。硬件应该与当前的SSRS服务器类似,以防万一升级失败时需要使用它。也要运行报表服务器配置管理器(RSCM)来验证所有的SSRS组件都安装上了并且能跟当前的SSRS实例一样正常运转。如果现有的SSRS使用了本地文件共享,还需要使用相同的名字和安全许可创建这些共享文件。

  拷贝SSRS配置文件中的定制化集合、扩展和设置。如果报表在装配中使用了任何定制化的代码、扩展或第三方组件,就要将这些装配组件安装在备用服务器上。也要从SSRS配置文件中拷贝任何与装配相关的配置部分到当前服务器上。

  在当前的SSRS服务器上备份加密密钥。报表服务使用加密的方式存储敏感数据,你一开始安装SSRS就要备份密钥并存放在安全的地方,迁移SSRS实例时,需要保存好密码、连接字符串和其他安全条目。将加密密钥用报表服务备份管理器备份到密码保护的文件中。

  将报表服务器数据库(report server database)备份在当前的SSRS服务器中。接着,对报表服务器的数据库作一个全库备份。如果你配置SSRS实例后用的不是缺省的名字,数据库的名字可能不同。

  在备用服务器上恢复report server 数据库。因为你已经安装配置好了SSRS ,report server database已经在数据库上了。在恢复选项中,选择这个选项来覆盖已有的数据库,在数据库恢复之后,打开备用服务器上报表管理器应用。在SSRS实例上就应该能看到相同的文件夹和报表。加密的内容,如连接字符串已经无效了,所以在完成下一步之前不用试图执行报表。

  在备用服务器上恢复加密的密钥。在备用服务器上打开报表服务器配置管理器,用已备份的加密密钥恢复。连接字符串和其他加密的内容应该已经能工作了,报表应该也可以访问了。

  在备用服务器的sql agent 中禁用SSRS 订阅任务。恢复加密密钥,重新初始化SSRS实例并重新创建job,开始报表订阅。由于有两个SSRS实例,因此相同的任务会调度两次,你要注意避免重复发送Email或一个报表文件发送两次。最简单的方式就是在sql agent 中禁用这些任务,只有在升级失败时,并且开始使用备用做主服务器的时候再打开它们。因为它们有隐藏GUI可见的名字,所以这些任务很容易找到。

  备用服务器应该与主服务器配置一样,如果升级过程出错就用它做主服务器。在这点上有几种方式可供选择。可以让备用服务器空闲,只有在出问题时才使用它;或者可以修改SSRS应用中的配置,将他们指向standby 服务器;也可以将任何直接的URL请求重定向到新服务器。一旦standby 服务器开始正常使用,就可以升级旧的主服务器并把所有的东西迁移回去。第二种方法可以获得不停机的好处,因为你正在升级一个不再使用的实例。

相关推荐