全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4408
推到 Plurk!
推到 Facebook!

SQL SERVER MSDTC問題

尚未結案
supermp54
一般會員


發表:22
回覆:24
積分:9
註冊:2004-01-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-04 11:20:30 IP:210.242.xxx.xxx 未訂閱
請教各位前輩: 小弟在sql中作ㄧ個跨伺服器的交易,但卻出現錯誤訊息: 伺服器: 訊息 8501,層級 16,狀態 1,行 2 伺服器 'EPDEV' 上的 MSDTC 無法使用。 伺服器: 訊息 7391,層級 16,狀態 1,行 2 由於 OLE DB Provider 'SQLOLEDB' 無法開始分散式交易,所以無法執行此操作。 小弟的sql語法為 BEGIN TRAN insert gvEmp select * from [10.10.101.117].SBP.dbo.RMASTER where ( PERSG='B' OR PERSG='C' OR ( PERSG='D' AND PERSK='D0')) IF @@error<>0 BEGIN ROLLBACK END ELSE BEGIN COMMIT END 我這2台伺服器彼此都可以PING通,並且MSDTC服務也有開啟,還是因為作業系統不同(WIN SERVER 2000 SQL SERVER 2000 VS WIN SERVER 2003 SQL SERVER 2000)就不行嗎? 謝謝!!
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-04 13:40:28 IP:211.74.xxx.xxx 未訂閱
請參考微軟網站 http://support.microsoft.com/default.aspx?scid=kb;en-us;889706 http://support.microsoft.com/kb/817064/ 應該是Windows Server 2003的問題 By default, network DTC access is disabled on the Windows Server 2003 products Ian
supermp54
一般會員


發表:22
回覆:24
積分:9
註冊:2004-01-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-09 16:01:49 IP:210.242.xxx.xxx 未訂閱
謝謝l630521前輩 我已經按照微軟網頁上的步驟將Enable network DTC access裝上了, 並且也重新啟動Distributed Transaction Coordinator service, SQL SERVER也重新啟動了,但是問題依然存在,不知道是不是還有其他的設定要設,不知道各位前輩有沒有類似的經驗請指點小弟一下,謝謝!!
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-09 16:48:20 IP:211.74.xxx.xxx 未訂閱
再參考這個連結看看 http://www.kbalertz.com/kb_883960.aspx#top#top Ian
supermp54
一般會員


發表:22
回覆:24
積分:9
註冊:2004-01-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-17 11:45:24 IP:210.242.xxx.xxx 未訂閱
l630521前輩您好: 我有參考您提供的網址去設定,Turn on Network MSDTC Access的部份我檢查過了,沒有問題。但Change your Windows Firewall configuration的部份, 我卻找不到Wscui.cpl
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-17 12:07:17 IP:203.73.xxx.xxx 未訂閱
引言: l630521前輩您好: 我有參考您提供的網址去設定,Turn on Network MSDTC Access的部份我檢查過了,沒有問題。但Change your Windows Firewall configuration的部份, 我卻找不到Wscui.cpl
Wscui.cpl是XP防火牆的設定,2003 Server好像沒有,我之前遇過是只要把我貼的這些設定設好就沒問題了!你有重開機嗎? Ian
supermp54
一般會員


發表:22
回覆:24
積分:9
註冊:2004-01-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-11-17 16:35:50 IP:210.242.xxx.xxx 未訂閱
回覆l630521前輩: 我有重開機過 另外就是這兩台機器的網段不同(192.168.9.3 與 192.168.10.7),會不會有影響?
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-11-17 16:48:21 IP:211.74.xxx.xxx 未訂閱
這我倒是沒試過,之前是在相同網段及網域在跑的,所以很好設定,網段這部份比較屬於網管方面,我不是很熟,你可能要請教一下懂這一部份的高手,或著你可不可以把兩台機器先放到相同網段試看看!把環境設單純一點試看看! Ian
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-11-17 17:18:01 IP:203.73.xxx.xxx 未訂閱
對了!我剛才才發現你是用 BEGIN TRAN insert gvEmp select * from [10.10.101.117].SBP.dbo.RMASTER where ( PERSG='B' OR PERSG='C' OR ( PERSG='D' AND PERSK='D0')) IF @@error<>0 BEGIN ROLLBACK END ELSE BEGIN COMMIT END 請改用 BEGIN DISTRIBUTED TRANSACTION 指定開始執行由 Microsoft Distributed Transaction Coordinator (MS DTC) 管理的 Transact-SQL 分散式交易。 Ian
supermp54
一般會員


發表:22
回覆:24
積分:9
註冊:2004-01-02

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-11-18 10:04:27 IP:210.242.xxx.xxx 未訂閱
回覆l630521前輩: 我試著用BEGIN DISTRIBUTED TRANSACTION一樣不行 但我改用SET XACT_ABORT ON 就可以了 謝謝您提供給小弟這麼多意見
系統時間:2024-06-16 20:40:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!