相關

2010-02-04 46 views
0

我有兩個SQL Server實例的鏈接服務器:我從Server1上執行存儲過程相關

  • 服務器1(SQL Server 2008中)
  • Server2上(SQL Server 2005中)

這在Server2上引用表。

它工作正常在我的測試環境:

  • Server1上運行Vista的SP2,SQL Server 2008中;
  • Server2上運行的是Windows XP SP2,SQL Server 2005中

但是,它不是在生產環境中工作:

  • Server1上運行Vista的SP1,SQL Server 2008中;
  • Server2上運行的是Windows XP SP2,SQL Server 2005中

我收到的錯誤消息是:

OLE DB提供程序 「SQLNCLI10」 鏈接服務器 「服務器2」 返回消息「無交易活性。」。
Msg 7391,Level 16,State 2,Line 21
該操作無法執行,因爲鏈接服務器「Server2」的OLE DB提供程序「SQLNCLI10」無法啓動分佈式事務。

+0

Greate我喜歡Aaronaught編輯,謝謝 – rmdussa 2010-02-04 03:46:17

回答

0

你在生產中配置了MSDTC嗎?

兩個常見的原因是DTC沒有啓動對一個或所有的機器,並沒有一個合適的域帳戶所有DTC的

1

「無法啓動分佈式事務」通常意味着DTC是在一個被禁用或這兩臺機器。要解決:

  • 開始 - >運行dcomcnfg
  • 展開組件服務,計算機
  • 右鍵單擊我的電腦,選擇屬性
  • 單擊MSDTC選項卡
  • 在Vista:單擊「默認屬性「選項卡上,勾選」在此計算機上啓用分佈式COM「
  • 在XP上:單擊」MSDTC「選項卡,單擊」安全配置「,選中」網絡DTC訪問「。
  • 單擊確定,重新啓動MSDTC。

如果這樣不能解決問題,那麼您可能會遇到以下問題:KB954950。你有沒有確保安裝所有的更新?

如果沒有我可能會轉到serverfault,我認爲他們對這個東西更加了解......

+0

我已經選中「在這臺計算機上啓用分佈式COM」這個選項已經在 – rmdussa 2010-02-04 03:51:57

+0

@rmdussa:確保你已經檢查過*所有電腦,然後看到我的更新。希望你能解決這個問題。 – Aaronaught 2010-02-04 03:58:49

+0

是這兩臺計算機都啓用了DTC – rmdussa 2010-02-04 22:13:21

2

發表你可能想嘗試禁用遠程交易都在一起,如果你不需要更新遠程表。

轉到鏈接服務器的屬性(假設您正在使用一個) 選擇「服務器選項」並將「啓用分佈式事務的促銷」設置爲「假」。

它爲我工作。 ;)

+1

+1你並不總是想要交易 – 2012-08-30 03:32:23

+0

爲我工作,謝謝!在我的情況下,我試圖調用遠程服務器上的標量函數,它只收集數據並執行一些計算,不需要更新表。 – 2013-04-01 18:52:22