我有一个 2008 ssrs 实例 (#1) 启动并运行,需要添加第二台服务器也运行 ssrs 2008 (#2)。第二台服务器上的错误消息是:
报表服务器无法解密用于访问报表服务器数据库中敏感或加密数据的对称密钥。您必须恢复备份密钥或删除所有加密内容。
搜索该错误,我发现了很多关于备份和恢复密钥的链接和帖子,但这似乎将问题从服务器 #2 转移到了服务器 #1。服务器 #2 将开始工作,但 #1 将出现相同的错误。
我发现这是关于 rskeymgmt.exe的,但这似乎没有影响。rskeymvmt 命令报告“成功”,但即使在每台机器上重新启动两个 ssrs 实例后,也没有任何变化。
我也尝试按照这些步骤操作,但我的 #2 实例从未出现在配置管理器的横向扩展部署选项卡中。
有什么建议么?
我和罗杰一起工作,经过一些工作后发现问题是第二台服务器是一个克隆图像,已经过 OBEd,所以它是一个与服务器 SID 和身份“不同”的服务器。但是,服务器上已经安装了 SQL 2008R2 SSRS。SSRS 安装会创建一个唯一的 InstallationID (GUID),这用于在 SSRS 横向扩展中标识 SSRS 实例。因此,两台服务器具有相同的 InstallationID,这意味着它们看起来是同一台服务器,因此两者的密钥相同,并且它无法备份或还原密钥,因为它与 ReportServer DB 中 dbo.keys 中的现有密钥冲突。InstallationID 可以在 rsreportserver.config 文件中找到,它也会在很多很多位置的注册表中找到并修复它们不是一个可行的选择。
解决方案是在第二台服务器上删除并重新安装 SSRS 实例,以便它具有新的 InstallationID 和加密密钥。然后可以添加它以进行横向扩展安装。