Sql-Server

集群上的連結伺服器和 MSDTC

  • September 25, 2015

我正在嘗試在我們網路上的兩個實例之間建立一個連結伺服器。我以前做過很多次都沒有問題,但是這次我反複收到以下錯誤:

OLE DB provider "SQLNCLI10" for linked server "MYLINKEDSERVERNAME" returned message 
   "The transaction manager has disabled its support for remote/network transactions.".
Msg 7391, Level 16, State 2, Procedure tableName_InsertUpdate, Line 57
The operation could not be performed because OLE DB provider "SQLNCLI10" for linked 
   server "MYLINKEDSERVERNAME" was unable to begin a distributed transaction.

我有伺服器“A”、一個 SQL2008 R2 框和伺服器“B”一個 SQL2012 框作為集群的一部分。

我已經在伺服器 A 上設置了連結伺服器,我可以執行一個可以正常工作的簡單伺服器select * from [linkedserver].dbname.dbo.table

對我不起作用的是數據庫“A”上的表上的觸發器,該觸發器是從伺服器 A 上的 SP 啟動的,試圖插入數據庫“B”上的表中。

有沒有人知道為什麼查詢會起作用,但從 SP 觸發的觸發器不會?

您是否在源電腦和目標電腦上都使用 配置了 MSDTC dcomcnfg

預設情況下,分佈式事務協調器不允許分佈式事務。

您需要通過dcomcnfg以管理員身份執行來配置它,並配置適用於您的情況的選項:

在此處輸入圖像描述

引用自:https://dba.stackexchange.com/questions/74247