分享方式:


SQL 型報表無法針對 dynamics CRM 執行Microsoft

本文提供安裝 Microsoft Dynamics CRM Reporting Extensions 之後所發生之錯誤的解決方案。

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

徵兆

安裝 Microsoft Dynamics CRM Reporting Extensions 之後,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 聯機、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)
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 群組。 在安裝 Reporting Extensions 期間,SSRS 服務帳戶會新增至 PrivReportingAccount。 虛擬或本機帳戶無法新增至 Active Directory 群組。

解決方法

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

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

注意

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