Sql-Server
集群上的連結伺服器和 MSDTC
我正在嘗試在我們網路上的兩個實例之間建立一個連結伺服器。我以前做過很多次都沒有問題,但是這次我反複收到以下錯誤:
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
以管理員身份執行來配置它,並配置適用於您的情況的選項: