【发布时间】:2011-08-25 06:32:12
【问题描述】:
我有一个使用MERGE 命令将dbo.tableA 与[mylinkedserver].dbo.TableA 同步的存储过程。
TableA 有一个与之关联的插入/更新触发器。为了让事情变得非常简单,触发器所做的就是
print 'I am a simple trigger because i dont want to cause errors'
当 SP 被执行时(通过 .net windows 应用程序),它会抛出这个错误:
链接服务器“MyLinkedServer”的 OLE DB 提供程序“SQLNCLI10” 返回消息“没有交易是 活跃。”
如果我删除触发器并再次执行存储的过程,它执行得非常好。
如果我通过 SSMS 运行存储过程(使用触发器),它也可以正常运行。
在两台服务器上都启用了 MSDTC。
服务器是 Windows 2008 服务器,SQL Server 2008 和 Service Pack 2。
为什么触发器会导致这个错误?!?!??
【问题讨论】:
标签: sql-server merge windows-server-2008