MSDTC(分布式交易協調器),協調跨多個數據庫、消息隊列、文件系統等資源管理器的事務。該服務的進程名為Msdtc.exe,該進程調用系統Microsoft Personal Web Server和Microsoft SQL Server。該服務用于管理多個服務器 .
位置:控制面板--管理工具--服務--Distributed Transaction Coordinator
依存關系:Remote Procedure Call(RPC)和Security Accounts Manager
建議:一般家用計算機涉及不到,除非你啟用Message Queuing服務,可以停止。
解決辦法:
1. 在windows控制面版-->管理工具-->服務-->Distributed Transaction Coordinator-->屬性-->啟動
2.在CMD下運行"net start msdtc"開啟服務后正常。
注:如果在第1步Distributed Transaction Coordinator 無法啟動,則是因為丟失了日志文件,重新創建日志文件,再啟動就行了。重新創建 MSDTC 日志,并重新啟動服務的步驟如下:
(1) 單擊"開始",單擊"運行",輸入 cmd 后按"確定"。
(2) 輸入:msdtc -resetlog (注意運行此命令時,不要執行掛起的事務)
(3) 最后輸入:net start msdtc 回車,搞定!
下面是其它網友的補充:
今天在本地機直接在觸發器里更新另一臺服務器數據時出現: MSDTC不可用
解決辦法:
在windows控制面版-->管理工具-->服務-->Distributed Transaction Coordinator-->屬性-->啟動
1.
A.不用事務,關用SELECT 語句.是否可以分布式查詢?
B.LINKSERVER 在做分布式更新事務時不能對本機操作.(就是不能環回分布式事務)
C.DBCC TRACEON (3604, 7300)--用跟蹤看更詳細錯誤信息.
D.下載MS提供的DTCPing.exe 分裝在兩臺機上,按README說明來運行它.看出錯信息.
http://download.microsoft.com/download/complus/msdtc/1.7/nt45/en-us/DTCPing.exe
2.
兩臺機的MSDTC是否都打開了.
3.
MSDTC設置是否正確.
1).打開命令提示,運行"net stop msdtc",然后運行"net start msdtc"。
2).轉至"組件服務管理工具"。
3).瀏覽至"啟動管理工具"。
4).選擇"組件服務"。
a.展開"組件服務"樹,然后展開"我的電腦"。
b.右鍵單擊"我的電腦",然后選擇"屬性"。
C.在MSDTC選項卡中,確保選中了下列選項: 網絡 DTC 訪問 網絡管理 網絡事務 XA 事務
e.另外,"DTC登錄帳戶"一定要設置為"NT Authority/NetworkService"。
5).單擊"確定"。這樣將會提示您"MS DTC 將會停止并重新啟動。
所有的依賴服務將被停止。請按''是''繼續"。單擊"是"繼續。
6).單擊"確定"關閉"我的電腦"屬性窗口。
4.
MSDTC依賴于RPC,RPC使用的端口是135,測試135端口是否打開.是否有防火墻?如果有先關了防火墻.
telnet IP 135
如果是關閉的打開它.
5.
有的機由于各種原因,SQLOLEDB不能使用分布式事務,更改為"MSDASQL" 的ODBC方式聯接.
新聞熱點
疑難解答