前言:A伺服器和B伺服器做好連結後,可以查詢,但是用到Distributed Transaction就報錯:
未處理的“System.Exception”類型的異常出現在 mes.exe 中。
其他資訊: System.Data.SqlClient.SqlException: 伺服器 'YICHANGMES' 上的 MSDTC 不可用。
無法執行該操作,因為連結伺服器 "" 的 OLE DB 通路接口 "SQLNCLI" 無法啟動分布式事務
根據網上步驟,添加host檔案,設定msdtc還不是行
用DTCping工具測試看是否ping通,發現是可以的,但是有警告:
<a href="http://s3.51cto.com/wyfs02/M01/6F/C7/wKioL1WoemHQpqitAAH_UqLVuaE452.jpg" target="_blank"></a>
經過查詢
解決辦法:屬于一個.Net 2.0的Bug,打hotfix:ndp20-kb916002-x86
3. 現象:在使用DTC ping的時候會出現一個警告"Warning: the CID values for both test
machines are the same"
4. 現象:win 2000上不能啟動分布式錯誤
原因:克隆的作業系統導緻 解決:添加/删除
解決辦法:打開系統資料庫,HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC
修改以下兩項:
AllowonlySecureRpcCalls=0
TurnoffRpcSecurity=1
這裡沒有修改系統資料庫,重新裝了系統!
因為伺服器B是從伺服器A克隆過來的,先是打更新檔報錯,直接就重新裝了下系統,搞定!!!
總結:以後即使是測試伺服器也不能偷懶了!
本文轉自 abc3486389 51CTO部落格,原文連結:http://blog.51cto.com/1336014/1675592