KB-MSDTC cross different domains

之前提過在Windows 2003上設定MSDTC時需要注意的事項,今天又有新的發現。

依測試結果,當Client與SQL Server分處於不同AD Domain時,可能導致分散式交易失敗。現象是Connection.Open()傳回錯誤訊息: New transaction cannot enlist in the specified transaction coordinator.

問題肇因於MSDTC靠雙向的RPC管道溝通,因此SQL Server所在的主機也要有能力連回Client端,跨Domain的遇到的狀況多半是因DNS不同台導致機器名稱無法解析,因此請確定SQL Server與Client”彼此相識”! 最簡單的測試方法是開個DOS視窗,用ping serverMachineName, ping clientMachineName確認雙方可以用機器名稱解析到對方,當然用DTCPing測試也行,還可以一併測試Firewall等Issue。

如果發現某一方無法解析機器名稱時,最簡單的方法是在windows/system32/drivers/etc/lmhosts(這個檔案預設是不存在的,但可以將lmhosts.sam更名為lmhosts,直接拿來用)裡加上一列如192.168.1.1 myClient的宣告,再下個nbtstat –R,之後ping測試如果OK,問題應該就可解決囉!

歡迎推文分享:
Published 13 February 2007 11:47 AM 由 Jeffrey
Filed under: , ,
Views: 20,821



意見

沒有意見

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<February 2007>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910
 
RSS
創用 CC 授權條款
【廣告】
twMVC

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication