报表服务器无法解密用于访问报表服务器数据库SSRS错误中的敏感或加密数据的对称密钥

时间:2013-10-01 05:53:26

标签: sql-server sql-server-2008 encryption reporting-services ssrs-2008

尝试在SQL 2008 R2 Server上部署SSRS报告时出现以下错误"报表服务器无法解密用于访问报表服务器数据库中敏感或加密数据的对称密钥...& #34 ;. Web上的大多数解决方案都建议删除加密密钥,然后重新配置数据源。我仍然是SSRS的初学者,是否有其他解决方案可以解决这个问题,谢谢

3 个答案:

答案 0 :(得分:15)

检查此链接Microsoft support link后,似乎这是SSRS报告中的已知问题。并且似乎解决它的唯一方法是删除加密密钥。

  1. 打开Reporting Services配置工具(程序 - > Microsoft SQL Server 2008 R2 - >配置工具 - >报告服务 配置管理器)
  2. 转到加密密钥
  3. 点击删除。
  4. 这解决了我的问题

答案 1 :(得分:1)

在从services.msc更改SQL Server Reporting Services帐户后,我遇到了Microsoft Dynamics CRM 2016 Reporting Extensions安装程序。这是因为Microsoft Dynamics CRM 2016 Reporting Extensions安装程序需要非本地服务帐户。 https://technet.microsoft.com/en-us/library/hh699754.aspx此处的关键触发因素可能是Haasan问题中的根本原因,即在不备份加密密钥的情况下更改SQL Server Reporting Services服务帐户。虽然他删除加密密钥的工作有效,但它有丢失加密信息的缺点,如果可能,您应该使用以下步骤恢复原始服务帐户用户,然后使用下面记录的步骤更改服务帐户参考文章。

  

运行Microsoft SQL Server Reporting Services实例的身份帐户(运行Microsoft Dynamics CRM Reporting Extensions)不能是本地系统或虚拟帐户。这是Microsoft Dynamics CRM报告生效所必需的,因为必须将身份帐户添加到Microsoft Dynamics CRM使用的PrivReportingGroup Active Directory安全组。

这里的长篇故事是,在更改SQL Server Reporting Services帐户时,您需要从 SQL Server Services Reporting Manager 执行此操作,因为这会提示您备份Symmetric加密密钥, SQL Server Reporting Services使用新服务帐户用户并将其还原。

Report Server服务使用对称密钥访问报表服务器数据库中的加密数据。通过使用与计算机和用于运行报表服务器服务的用户帐户对应的非对称公钥来加密此对称密钥。更改用于运行报表服务器服务的用户帐户时,报表服务器无法使用非对称公钥来解密对称密钥。因此,报表服务器服务无法使用对称密钥从报表服务器数据库访问数据。

从SQL Server Reporting Services报表管理器更改服务帐户时,将执行以下操作:

  

自动将新帐户添加到在本地计算机上创建的报表服务器组。该组在访问控制列表(ACL)中指定,用于保护Reporting Services文件。   自动更新用于承载报表服务器数据库的SQL Server数据库引擎实例的登录权限。新帐户将添加到RSExecRole。   旧帐户的数据库登录名不会自动删除。请务必删除不再使用的帐户。有关详细信息,请参阅SQL Server联机丛书中的管理报表服务器数据库(SSRS本机模式)。   仅当您将报表服务器数据库连接配置为首先使用服务帐户时,才会向新服务帐户授予数据库权限。如果将报表服务器数据库连接配置为使用域用户帐户或SQL Server数据库登录,则连接信息不受服务帐户更新的影响。   自动更新加密密钥以包含新帐户的配置文件信息。

如果在我的方案中,您碰巧知道以前的服务帐户用户是什么,则修复方法是将SQL Server报表服务帐户用户更改回最初指定的帐户,然后使用SQL Server Reporting Services报表管理器更改帐户并确保备份加密密钥,因为当设置新服务帐户用户时,该过程会自动恢复加密密钥。

参考:https://msdn.microsoft.com/en-us/library/ms160340.aspx - 配置报表服务器服务帐户(SSRS配置管理器)

https://support.microsoft.com/en-us/kb/842421 - 在更改用于运行报表服务器服务的用户帐户后重新启动报表服务器服务时,在Reporting Services跟踪日志中收到错误消息(这是一篇旧的知识库文章,但一般问题和解决方案仍适用于较新版本的SQL Reporting Services)

答案 2 :(得分:0)

希望如果不能选择删除密钥,这可能会节省一些时间。

将ReportServer和ReportServerTempDB从工作服务器移动到运行Reporting Services的其他环境后,我遇到了此问题。删除加密密钥不是一个选项,我知道用于创建加密密钥的密码,因此我从工作服务器上备份了密钥,并使用新环境中的Reporting Services配置管理器进行了恢复。刷新页面,错误就消失了。