触发器器中执行链接服务器

链接服务器更新不能够在隐式事务中执行,执行触发器时,将开始隐式事务,所以在触发器中执行链接服器貌似很矛盾

 

解决办法

将触发器开始时候的隐式事务提交掉

alter trigger

...

as

commit

insert into linkxx.dbname.dbo.tablename valeus(1)

..

 

但是 如果触发器执行完后 @@TRANCOUNT 为 0,则会出现错误 3609 并终止批处理

 

解决办法

那就让@@trancoutn<>0

 

alter trigger

...

as

commit

insert into linkxx.dbname.dbo.tablename valeus(1)

begin tran

..

 

 

DONE

你可能感兴趣的:(触发器器中执行链接服务器)