SQLServer觸發器 該事務管理器已經禁止了它對遠端/網路事務的支援

taogchan發表於2013-12-23
使用相應的觸發器來同步,在提交資料時,總時報:“連結伺服器"192.168.2.10"的 OLE DB 訪問介面 "SQLNCLI" 返回了訊息 "該事務管理器已經禁止了它對遠端/網路事務的支援”錯誤
主要的問題還是MSDTC的設定,找了一篇如下的文章,很幫助:

  關於“COM+ 無法與 Microsoft 分散式事務協調程式交談

出現了“該夥伴事務管理器已經禁止了它對遠端/網路事務的支援”的錯誤,一個很叫人鬱悶的錯誤,找了很多資料,基本的解決方法整理如下:
  1. 單擊“開始”,指向“控制皮膚”,然後單擊“新增/刪除程式”。
  2. 單擊“新增/刪除 Windows 元件”。
  3. 選擇“應用程式伺服器”,然後單擊“詳細資訊”。
  4. 選擇“啟用網路 DTC 訪問”,然後單擊“確定”。
  5. 單擊“下一步”。
  6. 單擊“完成”。
  7. 停止分散式事務協調器服務,然後重新予以啟動。
  8. 停止參與分散式事務的任何資源管理器服務(如 Microsoft SQL Server 或 Microsoft Message Queue Server),然後重新予以啟動。
  9.檢查MSDTC設定是否正確.
   1)開啟命令提示,執行"net stop msdtc",然後執行"net start msdtc"。
   2)轉至"元件服務管理工具"。
   3)瀏覽至"啟動管理工具"。
   4)選擇"元件服務"。
   a.展開"元件服務"樹,然後展開"我的電腦"。
   b.右鍵單擊"我的電腦",然後選擇"屬性"。
   c.在 MSDTC 選項卡中,確保選中了下列選項: 網路 DTC 訪問
   網路管理
   網路事務
   XA 事務
   d.另外,"DTC 登入帳戶"一定要設定為"NT Authority\NetworkService"。
   5)單擊"確定"。這樣將會提示您"MS DTC 將會停止並重新啟動。
   所有的依賴服務將被停止。請按'是'繼續"。單擊"是"繼續。
   6)單擊"確定"關閉"我的電腦"屬性視窗。
  10.關閉網路防火牆(或者開放相應的埠135)

1.先在程式計算機上設定MSDTC:控制皮膚->管理工具->元件服務->我的電腦->右jiang->屬性->MSDTC->安全配置(Security Configuration)->開啟Network DTC Access 同時打上
Allow Inbound ,Allow Outbound ,No Authentication Required,Enable Transaction Internet Protocol[TIP] Transaction
2.請在遠端資料庫計算機上做1同樣的事情

3.雙方計算機重新啟動MSDTC

4.這樣就可以了

其它的一些資料:

分散式事務在Windows 2003的配置比較麻煩,原來我就碰到過怎麼設定也啟動不了的情況,近日在別人指導下弄好了,順便寫個配置步驟,希望對大家有用
1、 新增/刪除程式中,選擇新增Windows元件,選擇應用程式伺服器,選擇啟用分散式事務網路訪問
2、 在DTC所涉及的所有伺服器中,啟用NETBIOS,確保所有伺服器能相互ping通對方,具體為修改所有伺服器中的C:\Windows\System32\Drivers\etc\hosts檔案(具體可參考hosts檔案的內部幫助)。[注意]必須修改所有的伺服器中的hosts檔案
3、 禁用SQL Server 的DTC RPC安全,具體為在HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC下新建一個DWord鍵,名稱為TurnOffRpcSecurity,設定其值為1
4、 重啟MSDTC
5、 關閉網路防火牆(或者開放相應的埠)
6、 參考:



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22392018/viewspace-1064018/,如需轉載,請註明出處,否則將追究法律責任。

相關文章