2015-06-20 69 views
-2

這是一個非常瘋狂的,我知道我在抓稻草這裏,但是當導入一個組織數據庫到我們的生產環境時,我收到以下錯誤。有沒有人見過這個?Dynamics CRM 2013組織導入失敗

CrmException System.Net.Socket.SocketException沒有這樣的主機在System.Net.DNS.InternalGetHostByName

已知
+0

你能提供更多的細節嗎?您是否試圖導入解決方案或SQL數據庫?如果您要導入數據庫,您是如何導入數據庫的(例如使用Management Studio)? – Scorpion

回答

1

當Dynamics CRM中被設定與SQL Server 2012的高可用性需要監聽器在使用連接字符串。但是,例如,在執行組織導入時,如果嘗試使用Listener Dynamics CRM時出現以下錯誤,則您的測試服務器CRM將不允許您使用監聽器。

的InnerException:
System.Net.Sockets.SocketException(0X80004005):沒有這樣的宿主是已知的
在System.Net.Dns.InternalGetHostByName(字符串主機名,布爾includeIPv6) 在System.Net.Dns .HetHostAddresses(String hostNameOrAddress) at Microsoft.Crm.Setup.Server.Utility.ManagedNetworkUtility.IsHostNameLocal(String hostName) at Microsoft.Crm.Setup.Server.Utility.ManagedNetworkUtility.AreHostNamesSynonymous(String host1,String host2) at Microsoft .Crm.Tools.Admin.GrantSrsAccessToConfigDBAction.GrantSrsServiceAccessToLocalConfigDB(Uri reportingUrl) 在Microsoft.Crm.Setup.Shared.CrmAction.ExecuteAction(CrmAction操作,IDictionary參數,布爾撤消)

因爲微軟不提供其UI內的方法來更新連接字符串回物理服務器名稱唯一的選擇似乎是直接手動更新MSCRM_Config數據庫中的組織表,這當然不受Microsoft的支持。這已得到Microsoft支持部門的確認。

對於任何面臨此問題的人,Microsoft都支持最終答案。

·將數據源從SQL Server實例名更改爲可用性組偵聽器名稱。 完整的連接字符串應類似於以下示例,其中MSCRMAG是包含Microsoft Dynamics CRM配置數據庫的可用性組的可用性組偵聽器名稱: 數據源MSCRMAG;初始目錄= MSCRM_CONFIG;集成安全性= SSPI

·   Update query for MSCRM_Config DB 
Update Organization 
set ConnectionString = 'Provider=SQLOLEDB;Data Source=AG_Listener_Name,Port_Number;Initial Catalog=OrganizationName_MSCRM;Integrated Security=SSPI;multisubnetfailover=true' where DatabaseName = 'OrganizationName_MSCRM' 

我已經在微軟與我們的高級資源討論過了,我們可以確認這是目前的一種解決方法,同樣也是支持的。除非數據庫沒有其他更改,否則部署將繼續保持支持狀態,然後是上面提到的那些更改。