Microsoft Dynamics CRM 2013 的 SQL Server 2012 AlwaysOn 故障轉移設定可能會導致 CRM 報告失敗並顯示錯誤訊息
本文將協助解決在設定 SQL Server 2012 AlwaysOn 故障轉移之後,可能會收到 Microsoft Dynamics CRM 報告的錯誤訊息的問題。
適用於: Microsoft Dynamics CRM 2011、Microsoft Dynamics CRM 2013
原始 KB 編號: 2991907
徵兆
設定 Microsoft Dynamics CRM 2013 的 SQL Server 2012 AlwaysOn 故障轉移之後,報告可能會失敗,並出現下列錯誤訊息:
報表處理期間發生錯誤。 (rsProcessingAborted)
您也可以在 Microsoft Dynamics CRM Server 上的 事件檢視器 應用程式記錄和安裝 CRM Reporting Extensions 的 SQL Server Reporting Services Server 中觀察到下列錯誤:
Web 服務要求 SetDataSourceCredentials 至報表伺服器 <ReportServerURL> 失敗,但 SoapException 失敗。 錯誤:報表處理期間發生錯誤。 (rsProcessingAborted)
無法開啟資料庫的連線。 錯誤:不支援使用 MultiSubnetFailover 連線選項連線到具名 SQL Server 實例。
原因
在設定 Microsoft Dynamics CRM 的 SQL Server 2012 AlwaysOn 故障轉移期間,和 MSCRM_CONFIG
連接字串 的 MultiSubnetFailover 屬性ConfigDB
會設定為 True。 此外,具名實例是在 連接字串 的數據源屬性中定義的。
範例連接字串:
Data Source=MSCRMAG\NamedInstance;Initial Catalog= MSCRM_CONFIG;IntegratedSecurity=SSPI;multisubnetfailover=true
解決方法
若要解決此問題,請將具名實例設定為使用特定 TCP 埠,然後更新 ConfigDB
和 MSCRM_CONFIG
連接字串,以包含具名實例的埠號碼。
設定 SQL 2012 Server 以接聽具名實例的特定 TCP 連接埠。 如需執行此動作的指示,請參閱設定伺服器接聽特定 TCP 連接埠 (SQL Server 組態管理員)。
針對 SQL Server AlwaysOn 故障轉移設定和組織資料庫,更新
ConfigDB
登錄機碼和MSCRM_CONFIG
資料庫,以包含具名實例的埠號碼。登錄機碼的
ConfigDB
範例:Data Source=AG_Listener_Name,Port_Number;Initial Catalog= MSCRM_CONFIG;Integrated Security=SSPI;multisubnetfailover=true
ConnectionString 属性的
MSCRM_Config
範例:'Provider=SQLOLEDB;Data Source=AG_Listener_Name,Port_Number;Initial Catalog=OrganizationName_MSCRM;Integrated Security=SSPI;multisubnetfailover=true' where DatabaseName = 'OrganizationName_MSCRM'