简体   繁体   English

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

[英]The report server Cannot decrypt the symmetric key used to access sensitive or encrypted data in a report server database SSRS Error

I am getting the following error when trying to deploy my SSRS reports on our SQL 2008 R2 Server "The report server cannot decrypt the symmetric key used to access sensitive or encrypted data in a report server database...". 尝试在SQL 2008 R2服务器上部署SSRS报告时出现以下错误“报表服务器无法解密用于访问报表服务器数据库中敏感或加密数据的对称密钥...”。 Most of the solutions on the Web suggest to delete the encryption keys, then reconfigure the datasources. Web上的大多数解决方案都建议删除加密密钥,然后重新配置数据源。 I am still a beginner in SSRS, Is there another solution to fix this issue, Thanks 我仍然是SSRS的初学者,是否有其他解决方案来解决这个问题,谢谢

After checking this link Microsoft support link , it seems that this is a know issue in SSRS reports. 在检查此链接Microsoft支持链接后 ,似乎这是SSRS报告中的已知问题。 And it seems the only way to fix it is to delete the Encryption keys. 似乎解决它的唯一方法是删除加密密钥。

  1. Open Reporting Services Configuration Tool ( Programs->Microsoft SQL Server 2008 R2 -> Configuration tools -> Reporting Services Configuration Manager) 打开Reporting Services配置工具(程序 - > Microsoft SQL Server 2008 R2 - >配置工具 - > Reporting Services配置管理器)
  2. Go to Encryption Keys 转到加密密钥
  3. Click Delete. 单击删除。

This solved my problem 这解决了我的问题

I ran into this with a Microsoft Dynamics CRM 2016 Reporting Extensions Setup after changing the SQL Server Reporting Services account from services.msc. 从services.msc更改SQL Server Reporting Services帐户后,我遇到了Microsoft Dynamics CRM 2016报表扩展安装程序。 This is because the Microsoft Dynamics CRM 2016 Reporting Extensions Setup requires a non-local service account. 这是因为Microsoft Dynamics CRM 2016 Reporting Extensions安装程序需要非本地服务帐户。 https://technet.microsoft.com/en-us/library/hh699754.aspx The key trigger here that is likely the root cause seen in the Haasan's question was the changing of the SQL Server Reporting Services service account without backing up the encryption key. https://technet.microsoft.com/en-us/library/hh699754.aspx这里的关键触发器可能是Haasan问题中的根本原因,即在不备份加密的情况下更改SQL Server Reporting Services服务帐户键。 While what he did with deleting encryption keys worked, it has drawbacks of losing that encryption information and if possible, you should use the steps below to revert back to the original service account user and then change the service account using the steps documented below and in the reference article. 虽然他删除加密密钥的工作有效,但它有丢失加密信息的缺点,如果可能,您应该使用以下步骤恢复原始服务帐户用户,然后使用下面记录的步骤更改服务帐户参考文章。

The identity account running the instance of Microsoft SQL Server Reporting Services where the Microsoft Dynamics CRM Reporting Extensions are running can't be the local system or a virtual account. 运行Microsoft SQL Server Reporting Services实例的身份帐户(运行Microsoft Dynamics CRM Reporting Extensions)不能是本地系统或虚拟帐户。 This is required for Microsoft Dynamics CRM reporting to work because the identity account must be added to the PrivReportingGroup Active Directory security group that is used by Microsoft Dynamics CRM. 这是Microsoft Dynamics CRM报告生效所必需的,因为必须将身份帐户添加到Microsoft Dynamics CRM使用的PrivReportingGroup Active Directory安全组。

The long story here is that when changing the SQL Server Reporting Services account, you need to do that from the SQL Server Services Reporting Manager as that will prompt you to back up the Symmetric encryption key that SQL Server Reporting Services uses and restore it with the new service account user. 这里的长篇故事是,在更改SQL Server Reporting Services帐户时,您需要从SQL Server服务报告管理器执行此操作,因为这将提示您备份SQL Server Reporting Services使用的对称加密密钥并使用新服务帐户用户。

The Report Server service uses the symmetric key to access the encrypted data in a report server database. 报表服务器服务使用对称密钥来访问报表服务器数据库中的加密数据。 This symmetric key is encrypted by using an asymmetric public key that corresponds to the computer and the user account that is used to run the Report Server service. 通过使用与计算机和用于运行报表服务器服务的用户帐户对应的非对称公钥来加密此对称密钥。 When you change the user account that is used to run the Report Server service, the report server cannot use the asymmetric public key to decrypt the symmetric key. 更改用于运行报表服务器服务的用户帐户时,报表服务器无法使用非对称公钥来解密对称密钥。 Therefore, the Report Server service cannot use the symmetric key to access the data from the report server database. 因此,报表服务器服务无法使用对称密钥从报表服务器数据库访问数据。

This will be doing the following when changing the service account from the SQL Server Reporting Services Reporting Manager: 从SQL Server Reporting Services报表管理器更改服务帐户时,将执行以下操作:

Automatically adds the new account to the report server group created on the local computer. 自动将新帐户添加到在本地计算机上创建的报表服务器组。 This group is specified in the access control lists (ACLs) that secure Reporting Services files. 该组在访问控制列表(ACL)中指定,用于保护Reporting Services文件。 Automatically updates the login permissions on the SQL Server Database Engine instance used to host the report server database. 自动更新用于承载报表服务器数据库的SQL Server数据库引擎实例的登录权限。 The new account will be added to the RSExecRole. 新帐户将添加到RSExecRole。 The database login for the old account will not be removed automatically. 旧帐户的数据库登录名不会自动删除。 Be sure to remove accounts that are no longer in use. 请务必删除不再使用的帐户。 For more information, see Administer a Report Server Database (SSRS Native Mode) in SQL Server Books Online. 有关详细信息,请参阅SQL Server联机丛书中的管理报表服务器数据库(SSRS本机模式)。 Granting database permissions to new service account only occurs if you configured the report server database connection to use the service account in the first place. 仅当您将报表服务器数据库连接配置为首先使用服务帐户时,才会向新服务帐户授予数据库权限。 If you configured the report server database connection to use a domain user account or a SQL Server database login, the connection information is not affected by the service account update. 如果将报表服务器数据库连接配置为使用域用户帐户或SQL Server数据库登录,则连接信息不受服务帐户更新的影响。 Automatically updates the encryption key to include the profile information of the new account. 自动更新加密密钥以包含新帐户的配置文件信息。

If like in my scenario, you happen to know what the previous service account user was, the fix is to change the SQL Server Report Service account user back to the originally specified account and then to use the SQL Server Reporting Services Reporting Manager to change the account and to ensure that you backup the encryption key as that process automates the restore of the encryption key when the new service account user is set. 如果在我的方案中,您碰巧知道以前的服务帐户用户是什么,修复方法是将SQL Server报表服务帐户用户更改回最初指定的帐户,然后使用SQL Server Reporting Services报表管理器更改帐户并确保备份加密密钥,因为该过程会在设置新服务帐户用户时自动恢复加密密钥。

References: https://msdn.microsoft.com/en-us/library/ms160340.aspx - Configure the Report Server Service Account (SSRS Configuration Manager) 参考: https//msdn.microsoft.com/en-us/library/ms160340.aspx - 配置报表服务器服务帐户(SSRS配置管理器)

https://support.microsoft.com/en-us/kb/842421 - You receive an error message in the Reporting Services trace log when you restart the Report Server service after you change the user account that is used to run the Report Server service (This is an old KB article, but the general problem and resolution still applies with newer versions of SQL Reporting Services) https://support.microsoft.com/en-us/kb/842421 - 更改用于运行报表服务器的用户帐户后重新启动报表服务器服务时,在Reporting Services跟踪日志中收到错误消息service(这是一篇旧的知识库文章,但一般问题和解决方案仍适用于较新版本的SQL Reporting Services)

Hopefully this might save someone some time if deleting the key is not an option. 希望如果删除密钥不是一个选项,这可能会节省一些时间。

I ran into this issue after moving the ReportServer and ReportServerTempDB from a working server to a different environment running Reporting Services. 将ReportServer和ReportServerTempDB从工作服务器移动到运行Reporting Services的其他环境后,我遇到了此问题。 Deleting the encryption keys was not an option and I knew the password used to create the encryption key, so I took a backup of the key from the working server and restored it using Reporting Services Configuration Manager on the new environment. 删除加密密钥不是一个选项,我知道用于创建加密密钥的密码,因此我从工作服务器上备份了密钥,并使用新环境中的Reporting Services配置管理器进行了恢复。 Refreshed the page and the error went away. 刷新页面,错误消失了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法从SSRS报表设计器访问SQL Server实例-命名管道错误 - Cannot access SQL server instance from SSRS Report Designer - Named Pipe error 定期更改SQL Server中加密数据库的对称密钥和证书吗? - Periodically change the symmetric key and certificate for a encrypted database in SQL Server? 报表服务器无法验证加密数据的完整性 - The report server was unable to validate the integrity of encrypted data 无法连接到 SSRS 中的报表服务器进行配置 - cannot connect to report server in SSRS for configuration SQL Server对称密钥丢失了,如何解密数据? - SQL Server symmetric key is lost, how to decrypt the data? 具有对称密钥/证书的加密数据的链接服务器查询 - Linked Server Query of Encrypted Data with Symmetric Key/Certificate Microsoft SSRS 2012 报表管理器 - HTTP 500 错误(网站无法显示页面),而报表服务器正常 - Microsoft SSRS 2012 Report Manager - HTTP 500 error (The website cannot display the page),while Report Server fine 访问时解密数据库中的敏感数据 - Decrypt sensitive data in database on access 报表服务器无法打开与报表服务器数据库的连接 - The report server cannot open a connection to the report server database 报表服务器无法打开与报表服务器数据库的连接。 - The report server cannot open a connection to the report server database.
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM