MS-SQLSERVER中的msdtc不可用解决方法
????? 今天在本地機直接在觸發器里更新另一臺服務器數據時出現: msdtc不可用
解決辦法:
在windows控制面版-->管理工具-->服務-->Distributed?? Transaction?? Coordinator-->屬性-->啟動
1.
A.不用事務,關用SELECT?? 語句.是否可以分布式查詢?
B.LINKSERVER?? 在做分布式更新事務時不能對本機操作.(就是不能環回分布式事務)
C.DBCC?? TRACEON?? (3604,?? 7300)--用跟蹤看更詳細錯誤信息.
D.下載MS提供的DTCPing.exe?? 分裝在兩臺機上,按README說明來運行它.看出錯信息.
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方式聯接.
使用RRAS而不是RAS.(控制面版--管理工具--遠程服務管理器)
Check?? whether?? you?? are?? using?? Remote?? Access?? Server?? (RAS)?? to?? access?? remote?? servers.?? If?? so,?? make?? sure?? that?? you?? have?? implemented?? Routing?? RAS?? (RRAS).?? Linked?? server?? does?? not?? work?? on?? RAS?? because?? RAS?? allows?? only?? one?? way?? communication.
更多msdtc不可用相關閱讀請點擊內推資訊→www.neitui.me/zx/
內推網(www.neitui.me)打造內推行業最大最專業的互聯網招聘、內部推薦的網絡招聘平臺,互聯網招聘內部推薦直招平臺
????? 6.檢查你的兩臺服務器是否在同一個域中.? 如果不在同一個域中,是否建立可信任聯接.
7.如果是WIN2000,升級到SP4
8.升級MDAC到2.6以上,最好是2.8.
9.要安裝SQL的最新補丁:?? sp3a
轉載于:https://www.cnblogs.com/neituime/p/5013400.html
總結
以上是生活随笔為你收集整理的MS-SQLSERVER中的msdtc不可用解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记休产假前的一些杂想
- 下一篇: 电子类经典书籍汇总(转 )