当您更改用于运行报表服务器服务的用户帐户后,重新启动报表服务器服务时,报表服务跟踪日志中收到错误消息

文章翻译 文章翻译
文章编号: 842421 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

在运行 Microsoft SQL Server 2000 报表服务的计算机上如果您更改该用户帐户,您用来运行该报表服务器服务,然后您重新启动报表服务器服务,您可能会注意到与以下内容类似的行为:
  • 如果更改了用于运行报表服务器的 Windows 服务的用户帐户,您可能会收到类似于以下报表服务跟踪日志中的错误消息:
    ReportingServicesService!crypto!d00!5/18/2004-13:10:54:: i INFO: Initializing 
     crypto as user: DomainName\UserName
    ReportingServicesService!crypto!d00!5/18/2004-13:10:54:: i INFO: Exporting 
     public key
    ReportingServicesService!crypto!d00!5/18/2004-13:10:55:: i INFO: Performing 
     sku validation
    ReportingServicesService!crypto!d00!5/18/2004-13:10:55:: i INFO: Importing 
     existing encryption key
    ReportingServicesService!library!d00!5/18/2004-13:10:55:: e ERROR: Throwing 
     Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerDisabledException: 
     The report server cannot decrypt the symmetric key used to access sensitive or 
     encrypted data in a report server database. You must either restore a backup key 
     or delete all encrypted content and then restart the service. Check the 
     documentation for more information., ; Info: 
    Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerDisabledException: 
     The report server cannot decrypt the symmetric key used to access sensitive or 
     encrypted data in a report server database. You must either restore a backup 
     key or delete all encrypted content and then restart the service. Check the 
     documentation for more information. ---> 
    System.Runtime.InteropServices.COMException (0x80090005): Bad Data.
     at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, 
      IntPtr errorInfo)
     at RSManagedCrypto.RSCrypto.ImportSymmetricKey(Byte[] pSymKeyBlob)
     at Microsoft.ReportingServices.Library.ConnectionManager.GetEncryptionKey()
     --- End of inner exception stack trace ---
    ReportingServicesService!library!d00!5/18/2004-13:10:55:: Exception caught 
     while starting service. Error: 
     Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerDisabledException: 
     The report server cannot decrypt the symmetric key used to access sensitive or 
     encrypted data in a report server database. You must either restore a backup  
     key or delete all encrypted content and then restart the service. Check the 
     documentation for more information. ---> 
    System.Runtime.InteropServices.COMException (0x80090005): Bad Data.
     at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, 
      IntPtr errorInfo)
     at RSManagedCrypto.RSCrypto.ImportSymmetricKey(Byte[] pSymKeyBlob)
     at Microsoft.ReportingServices.Library.ConnectionManager.GetEncryptionKey()
     --- End of inner exception stack trace ---
     at Microsoft.ReportingServices.Library.ConnectionManager.GetEncryptionKey()
     at Microsoft.ReportingServices.Library.ConnectionManager.ConnectStorage()
     at Microsoft.ReportingServices.Library.ConnectionManager.VerifyConnection()
     at Microsoft.ReportingServices.Library.ServiceController.ServiceStartThread()
    ReportingServicesService!library!d00!5/18/2004-13:10:55:: Attempting to start
     service again...
    注意默认状态下,报表服务器的 Windows 服务跟踪日志记录在 InstallationDrive: \Program Files\Microsoft SQL Server\ InstanceOfSQLServer \Reporting Services\LogFiles\ReportServerService_ TimeStamp.log 文件。
  • 如果更改了用于运行报表服务器 Web 服务的用户帐户,您可能会收到类似于以下报表服务跟踪日志中的错误消息:
    aspnet_wp!crypto!c84!5/21/2004-05:26:15:: i INFO: Initializing crypto as 
     user: UserName
    aspnet_wp!crypto!c84!5/21/2004-05:26:15:: i INFO: Exporting public key
    aspnet_wp!crypto!c84!5/21/2004-05:26:15:: i INFO: Performing sku validation
    aspnet_wp!crypto!c84!5/21/2004-05:26:15:: i INFO: Importing existing encryption 
     key
    aspnet_wp!library!c84!5/21/2004-05:26:15:: e ERROR: 
     Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerDisabledException: 
     The report server cannot decrypt the symmetric key used to access sensitive 
     or encrypted data in a report server database. You must either restore a 
     backup key or delete all encrypted content and then restart the service. 
     Check the documentation for more information., ;
    Info: Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerDisabledException: 
     The report server cannot decrypt the symmetric key used to access sensitive or 
     encrypted data in a report server database. You must either restore a backup 
     key or delete all encrypted content and then restart the service. Check the 
     documentation for more information. ---> 
     System.Runtime.InteropServices.COMException (0x80090005): Bad Data.
    at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, 
     IntPtr errorInfo)
    at RSManagedCrypto.RSCrypto.ImportSymmetricKey(Byte[] pSymKeyBlob)
    at Microsoft.ReportingServices.Library.ConnectionManager.GetEncryptionKey()
       --- End of inner exception stack trace ---
    aspnet_wp!webserver!72c!5/21/2004-05:26:25:: i INFO: Reporting Web Server 
     stopped
    注意默认状态下,报表服务器 Web 服务跟踪日志记录在 InstallationDrive: \Program Files\Microsoft SQL Server\ InstanceOfSQLServer \Reporting Services\LogFiles\ReportServer_ TimeStamp.log 文件。

    此外,启动报表管理器时, 您可能会收到与以下类似的错误消息:

    在报表服务器无法解密对称密钥用来访问报表服务器数据库中的敏感或加密数据。您必须还原备份密钥或删除所有加密的内容,然后重新启动服务。请查阅该文档的详细信息。(rsReportServerDisabled)获取联机帮助
    不正确的数据。

原因

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

解决方案

若要解决此问题,您必须备份加密密钥之前更改用户帐户,用于运行报表服务器的 Windows 服务或报表服务器 Web 服务,然后您必须将应用已备份的密钥。为此,请在运行报告服务的计算机上,请按照下列步骤操作:
  1. 使用该服务已成功运行的该用户帐户启动报表服务器的 Windows 服务和报表服务器 Web 服务。
  2. 若要备份加密密钥使用 rskeymgmt 命令行实用程序。为此请在命令提示符处运行以下命令:
    RSKeyMgmt-e-f FileName-p StrongPassword
    注意: 替换 FileName 和 $ StrongPassword 具有一个相应的文件的名称和适当的密码。默认状态下,rskeymgmt 命令行实用程序位于 InstallationDrive: \Program Files\Microsoft SQL Server\80\Tools\Binn 文件夹。

    有关 rskeymgmt 命令行实用程序的详细信息,请在命令提示符处运行以下命令:
    RSKeyMgmt / 吗?
  3. 若要删除现有的密钥对引用使用 rskeymgmt 命令行实用程序。为此请在命令提示符处运行以下命令:
    RSKeyMgmt-r InstallationID
    注意替换 InstallationIDInstallationID 设置 RSReportServer.config 文件中提供的安装 ID。默认状态下,RSReportServer.config 文件存储在 InstallationDrive: \Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer 文件夹。
  4. 停止 Microsoft Internet Information Services (IIS)。
  5. 停止报告服务器 Windows 服务。
  6. 更改用于运行报表服务器的 Windows 服务或报表服务器 Web 服务到所需的用户帐户的用户帐户。
  7. 启动 IIS。
  8. 启动报表服务器的 Windows 服务。
  9. 若要应用在第 2 步中已备份加密密钥使用 rskeymgmt 命令行实用程序。为此请在命令提示符处运行以下命令:
    RSKeyMgmt-a-f FileName-p StrongPassword
    注意替换为 FileNameStrongPassword 文件的名称和用于在第 1 步中将对称加密密钥备份的密码。

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

参考

有关报告服务跟踪日志的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 的网站:
http://msdn2.microsoft.com/en-us/library/aa972243(SQL.80).aspx
有关 RSReportServer.config 配置文件的详细信息,请访问下面的 Microsoft 网站:
http://msdn2.microsoft.com/en-us/library/aa972212(SQL.80).aspx

属性

文章编号: 842421 - 最后修改: 2007年3月29日 - 修订: 1.3
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 Reporting Services
关键字:?
kbmt kbtshoot kbconfig kbservice kbreport kbmsg kbuser kbsettings kblogin kberrmsg kbprb KB842421 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 842421
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com