來源: https://blog.csdn.net/qvyyy/article/details/1695235
對接系統,sql sercver2008 對接SQL Server 2000時,遇到的一些坑
錯誤:
問題的解決步驟
一.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
二.兩台機的msdtc是否都打開了.
三.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.單擊"確定"關閉"我的電腦"屬性窗口。
四.
msdtc依賴於rpc,rpc使用的端口是135,測試135端口是否打開.是否有防火牆?如果有先關了防火牆.
telnet ip 135
如果是關閉的打開它.
五.
有的機由於各種原因),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.
七.檢查你的兩台服務器是否在同一個域中.
如果不在同一個域中,是否建立可信任聯接.
八.如果是win2000,升級到sp4
---------------------
作者:qvyyy
來源:CSDN
原文:https://blog.csdn.net/qvyyy/article/details/1695235
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!