您如果在變更用以執行「報表伺服器」服務的使用者帳戶之後重新啟動「報表伺服器」,會在 Reporting Services 追蹤記錄中收到錯誤訊息

文章翻譯 文章翻譯
文章編號: 842421 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

您如果在執行 Microsoft SQL Server 2000 Reporting Services 的電腦上變更用以執行「報表伺服器」服務的使用者帳戶之後重新啟動「報表伺服器」服務,將會出現類似下列的行為:
  • 如果您變更用以執行「報表伺服器」Windows 服務的使用者帳戶,會在 Reporting Services 追蹤記錄中收到類似下列的錯誤訊息:
    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 服務的使用者帳戶,會在 Reporting Services 追蹤記錄中收到類似下列的錯誤訊息:
    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 檔案中。

    此外還會在您啟動「報表管理員」時,收到類似下列的錯誤訊息:

    報表伺服器無法解密用來存取報表伺服器資料庫中機密或已加密資料的 Symmetric 金鑰。您必須還原備份金鑰或刪除所有加密內容,然後重新啟動服務。如需詳細資訊,請查看文件。(rsReportServerDisabled) Get Online Help (取得線上說明)
    Bad Data. (不正確的資料。)

發生的原因

「報表伺服器」服務會使用對稱式金鑰存取報表伺服器資料庫中的加密資料。此對稱式金鑰是以對應至用以執行「報表伺服器」服務的電腦與使用者帳戶的非對稱式公開金鑰進行加密。當您變更用以執行「報表伺服器」服務的使用者帳戶時,該報表伺服器即無法使用非對稱式公開金鑰解密對稱式金鑰。而「報表伺服器」服務也將因此無法使用對稱式金鑰從報表伺服器資料庫存取資料。

解決方案

如果要解決這個問題,必須在變更用以執行「報表伺服器」Windows 服務或「報表伺服器」Web 服務的使用者帳戶之前,先備份這些加密金鑰,然後再套用所備份的金鑰。如果要執行這項操作,請在執行 Reporting Services 的電腦上依照下列步驟執行:
  1. 使用可以成功執行「報表伺服器」Windows 服務及「報表伺服器」Web 服務的使用者帳戶,啟動這兩項服務。
  2. 使用 rskeymgmt 命令列公用程式備份加密金鑰。如果要執行這項操作,請在命令提示字元執行下列命令:
    RSKeyMgmt -e -f FileName -p StrongPassword
    注意:以適當的檔名及密碼取代 FileNameStrongPassword。rskeymgmt 命令列公用程式的預設位置是 InstallationDrive:\Program Files\Microsoft SQL Server\80\Tools\Binn 資料夾。

    如需有關 rskeymgmt 命令列公用程式的詳細資訊,請在命令提示字元執行下列命令:
    RSKeyMgmt /?
  3. 使用 rskeymgmt 命令列公用程式移除對現有金鑰的參照。如果要執行這項操作,請在命令提示字元執行下列命令:
    RSKeyMgmt -r InstallationID
    注意 請以 RSReportServer.config 檔案之 InstallationID 設定中的安裝 ID 取代 InstallationID。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. 使用 rskeymgmt 命令列公用程式,套用您在步驟 2 中備份的加密金鑰。如果要執行這項操作,請在命令提示字元執行下列命令:
    RSKeyMgmt -a -f FileName -p StrongPassword
    注意 請以您在步驟 1 中備份對稱式加密金鑰時所使用的檔名及密碼取代 FileNameStrongPassword

狀況說明

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

?考

如需有關 Reporting Services 追蹤記錄的詳細資訊,請造訪下列 Microsoft Developer Network (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 - 上次校閱: 2011年5月15日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Reporting Services
關鍵字:?
kbsqldeveloper kbtshoot kbconfig kbservice kbreport kbmsg kbuser kbsettings kblogin kberrmsg kbprb KB842421
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