我有一個存儲過程,它使用MERGE
命令將dbo.tableA
與[mylinkedserver].dbo.TableA
同步。SQL Server 2008:具有觸發器的表上的MERGE命令導致錯誤
TableA
有一個與之關聯的插入/更新觸發器。爲了讓事情變得非常簡單所有的觸發作用是
print 'I am a simple trigger because i dont want to cause errors'
當執行SP(直通一個.NET Windows應用程序),它拋出這個錯誤:
OLE DB provider "SQLNCLI10" for linked server "MyLinkedServer" returned message "No transaction is active."
如果我刪除了觸發和執行存儲過程再次,它執行絕對好。
存儲過程也運行良好(與觸發器),如果我通過SSMS運行它。
MSDTC在兩臺服務器上都啓用。
服務器是Windows 2008服務器,SQL Server 2008中使用Service Pack 2
爲什麼會觸發導致此錯誤?!?!?
可能的解決方法:http://stackoverflow.com/questions/4869977/sql-server-2008-merge-statement-how-to-disable-instead-of-insert-trigger-to-al – Hubbitus 2013-09-11 15:00:07