2013年11月6日 星期三

[SQL SERVER] 當使用DBLINK時出現"因為連結伺服器的OLE DB提供者,無法開始分散式交易"錯誤訊息

當前端程式執行時出現如下的錯誤訊息
因為連結伺服器 "MYASSET" 的 OLE DB 提供者 "MSDASQL" 無法開始分散式交易。
連結伺服器 "MYASSET" 的 OLE DB 提供者 傳回訊息"[Microsoft][ODBC SQL Server Driver]分散式異動錯誤"。


系統環境:
主機A:Windows Server 2003 with SP2 x32 及 SQL Server 2000
主機B:Windows Server 2008 R2 x64 及 SQL Server 2008 R2 x64
主機B上的資料庫中的TABLE異動時會觸發觸發程序將主機B上的資料庫中的TABLE異動

解決步驟:
(一)在主機A
1. 依序展開[開始]->[系統管理工具]->[元件服務]

2. 在[元件服務]視窗中依序展開[元件服務]->[電腦]->在[我的電腦]上右鍵[內容]

3. 在[我的電腦 內容]視窗中的[MSDTC]頁籤按下[安全性設定]

4. 在[安全性設定]視窗中請依據如下圖方式設定,設定完後按下[確定]

5. 將主機重開機

(二)在主機B
1. 依序展開[開始]->[所有程式]->[系統管理工具]->[元件服務]

2. 在[元件服務]視窗中依序展開[元件服務]->[電腦]->在[我的電腦]->[Distributed Transaction Coordinator]->[本機 DTC]上右鍵[內容]

3. 在[本機 DTC - 內容]視窗中請依據如下圖方式設定,設定完後按下[確定]

4. 在[MSDTC 服務]視窗中按下[是]

5. 在[MSDTC 服務]視窗中按下[確定]後無須重開機

註:若主機上若有防火牆需開"分散式交易協調器"的通訊Port

參考資料:http://technet.microsoft.com/zh-tw/library/cc771891.aspx

沒有留言:

張貼留言