Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

解決「COM+ 無法與 MSDTC 通訊」錯誤完整步驟

編輯:關於伺服器

錯誤現象

事件檢視器記錄:「COM+ 無法與 Microsoft 分散式交易協調器 (MSDTC) 交談」,導致分散式交易失敗、元件服務管理工具無法開啟、應用程式拋出 0x8004d01c 等錯誤。

根本原因

MSDTC 服務登錄設定損毀、服務二進位檔異常、或叢集/防火牆設定阻擋 RPC 通訊。

標準修復流程(重置 MSDTC)

  1. 備份登錄表(建議匯出 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC 及 HKEY_CLASSES_ROOT\CID)。
  2. 以系統管理員身分開啟命令提示字元,依序執行:
net stop msdtc
msdtc -uninstall
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\MSDTC" /f
reg delete "HKLM\SOFTWARE\Microsoft\MSDTC" /f
reg delete "HKCR\CID" /f
msdtc -install
net start msdtc
  1. 重新啟動伺服器確保所有相關服務 (SQL Server, Message Queuing, COM+) 正常啟動。

啟用網路 DTC 存取 (Windows Server 2003)

預設關閉遠端交易,需手動開啟:

  1. 控制台 →「新增/移除程式」→「新增/移除 Windows 元件」。
  2. 選取「應用程式伺服器」→「詳細資料」。
  3. 勾選「啟用網路 DTC 存取」→ 確定 → 下一步 → 完成。
  4. 服務管理工具重新啟動「分散式交易協調器」服務。
  5. 重新啟動參與分散式交易的資源管理器服務 (SQL Server, MSMQ 等)。

防火牆與網路驗證

  • 確認雙向開放 TCP 135 (RPC Endpoint Mapper) 及 動態 RPC 埠範圍 (預設 1024-65535,建議限縮至 5000-6000 並在防火牆開放)。
  • 測試指令:dtcping (Resource Kit 工具) 或 DTCPing.exe 驗證雙向 RPC 連線。

參考資源

Microsoft 知識庫:KB 867520

Copyright © Windows教程網 All Rights Reserved