首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server MSDTC 分散式交易設定要點:服務啟動、連結伺服器、跨網段 Hosts、DTC Ping 測試

     編輯:關於SqlServer

五大關鍵設定步驟

  1. 啟動 MSDTC 服務:兩台 SQL Server 機器均需啟動「Distributed Transaction Coordinator」服務。
    若為叢集環境,每個節點需執行 comclust.exe 設定叢集 MSDTC。
  2. 建立雙向連結伺服器:
    Server A 建立連結至 Server B,Server B 建立連結至 Server A。
    提供者:SQLOLEDB,資料來源為對方網路名稱/IP。
  3. 跨網段名稱解析:
    若兩台伺服器不在同一網段,需在雙方 C:\WINNT\system32\drivers\etc\hosts 加入對應:
    192.168.10.50 SQLSERVER_B
    確保 ping SQLSERVER_B 通。
  4. DTC Ping 測試工具驗證:
    下載 DTCping.exe (Microsoft 支援工具),雙向測試 MSDTC 連線與交易傳播是否正常。
    常見失敗:防火牆封鎖 RPC 動態埠 (135 + 高埠)、網路名稱解析、認證機制 (Kerberos/NTLM) 不匹配。
  5. 啟用分散式交易:
    完成上述設定後,即可執行跨伺服器 BEGIN DISTRIBUTED TRANSACTION、INSERT/UPDATE/DELETE 多資料庫操作並保證 ACID。

常見坑點補充

  • 防火牆埠範圍:RPC 動態埠範圍預設 1024-65535,生產環境建議限制範圍 (註冊表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Internet\Ports) 並在防火牆開放。
  • 帳號一致性:連結伺服器安全性設定「使用此安全性內容」時,帳號需在雙方均存在且密碼相同,或使用網域帳號。
  • 交易逾時:分散式交易預設逾時 60 秒,長跑交易需調整 sp_configure 'remote query timeout' 或連結伺服器屬性「查詢逾時」。
  • MSDTC 安全性設定:元件服務 → 電腦 → 我的電腦 → Distributed Transaction Coordinator → 本機 DTC → 內容 → 安全性頁籤:勾選「網路 DTC 存取」、「允許遠端用戶端」、「允許輸出/輸入」、「啟用 TIP 交易」。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved