SQL 型報表無法執行 Microsoft Dynamics CRM

本文提供安裝 Microsoft Dynamics CRM 報告延伸模組之後所發生錯誤的解決方案。

適用於:Microsoft Dynamics CRM 2011 年 Microsoft Dynamics CRM 2013 年
原始 KB 編號: 2923525

徵狀

安裝 Microsoft Dynamics CRM 報表延伸模組之後,SQL 型報表,例如現成的報表,無法在 Microsoft Dynamics CRM 內執行。 SQL Server Reporting Services (SSRS) 記錄檔會顯示下列訊息:

處理!ReportServer_###!MM/DD/YYYY-HH:MM:SS:: e ERROR: 資料源 'ORGANIZATIONUNIQUENAME': 發生錯誤。 詳細數據:Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:無法建立與數據源 'ORGANIZATIONUNIQUENAME' 的連線。 >--- Microsoft.ReportingServices.DataExtensions.ReportServerDataProvider.RSDPException:您已在數據源的 連接字串 中指定整合式安全性或認證,但數據源已設定為使用不同的認證類型。 若要使用 連接字串 中的值,您必須設定報表伺服器的自動報表處理帳戶。
at Microsoft.ReportingServices.DataExtensions.ConnectionExtension.FailIntegratedSecurity ()
at Microsoft.ReportingServices.DataExtensions.ConnectionExtension.AppendCredentials ()
at Microsoft.ReportingServices.DataExtensions.SqlConnectionWrapperBase.get_ConnectionString ()
at Microsoft.ReportingServices.DataExtensions.ConnectionExtension.Open ()
at Microsoft.ReportingServices.DataExtensions.SqlConnectionWrapperBase.Open ()
at Microsoft.ReportingServices.Diagnostics.DataExtensionConnectionBase.OpenConnection (IProcessingDataSource dataSourceObj, DataSourceInfo dataSourceInfo, IDbConnection conn)
---內部例外狀況堆疊追蹤---
at Microsoft.ReportingServices.Diagnostics.DataExtensionConnectionBase.OpenConnection (IProcessingDataSource dataSourceObj, DataSourceInfo dataSourceInfo, IDbConnection conn)
at Microsoft.ReportingServices.Diagnostics.DataExtensionConnectionBase.HandleImpersonation (IProcessingDataSource dataSource, DataSourceInfo dataSourceInfo, String datasetName, IDbConnection connection, Action afterImpersonationAction)
at Microsoft.ReportingServices.Diagnostics.DataExtensionConnectionBase.OpenDataSourceExtensionConnection (IProcessingDataSource dataSourceObj, String connectString, DataSourceInfo dataSourceInfo, String datasetName)
at Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSource.OpenConnection (DataSource dataSourceObj, DataSet dataSetObj, OnDemandProcessingContext pc, DataProcessingMetrics metrics metrics)
at Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSource.OpenInitialConnectionAndTransaction ()
at Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSource.InitializeDataSource ()
at Microsoft.ReportingServices.OnDemandProcessing.RuntimeAtomicDataSource.Process (Boolean fromOdp)

注意事項

檢閱 報表伺服器服務追蹤記錄 檔,以取得 SSRS 記錄檔的位置。

原因

執行 SSRS 服務的帳戶是虛擬或本機帳戶,例如 LocalSystem。 這些虛擬或本機帳戶沒有查詢 FilteredViews 的必要許可權。 查詢 FilteredViews 所需的 SQL 權限是稱為 CRMReaderRole 的自定義角色。 此角色會提供給名為 PrivReportingGroup 的 Active Directory 群組。 在安裝報表延伸模組期間,SSRS 服務帳戶會新增至 PrivReportingAccount。 虛擬或本機帳戶無法新增至 Active Directory 群組。

解決方案

若要修正此問題,請依照下列步驟執行:

  1. 在網路服務的內容下執行 SSRS 服務。 為了提高安全性,請以受控服務帳戶身分執行 SSRS 服務,這是 Active Directory 中低許可權的使用者。 若要變更服務帳戶,請參閱設定服務帳戶 (SSRS Configuration Manager)
  2. 手動將CRMReaderRole角色授與在每個CRM資料庫上執行SSRS服務的帳戶。 請 參閱 sp_addrolemember (Transact-SQL)

注意事項

如果選擇選項 2,則每當建立新的組織時,就必須將 SSRS 服務帳戶新增至這個新的資料庫。