【发布时间】:2016-09-09 22:36:56
【问题描述】:
我在服务器 A 中创建了instead of trigger,我在其中调用了一个过程,该过程又调用了链接服务器(服务器 B)中的其他过程。
触发器(A)->过程(A)->过程(B)
但是,当触发器执行时,它会抛出以下错误:
链接服务器“xxx”的 OLE DB 提供程序“SQLNCLI11”返回消息“合作伙伴事务管理器已禁用其对远程/网络事务的支持。”。 消息 7391,第 16 层,状态 2,第 1 行 无法执行该操作,因为链接服务器“xxx”的 OLE DB 提供程序“SQLNCLI11”无法开始分布式事务。
当我这样做时:程序 (A) -> 程序 (B) 它运行良好。可能是什么原因?
我该如何解决这个问题?分布式查询与链接服务器查询不同吗?
【问题讨论】:
-
两台机器上都配置了 MSDTC 吗?
-
@M.Ali,但是如果没有配置,调用 Procedure(Server A) -> Procedure(Server B) 会起作用吗?因为它有效
标签: sql-server stored-procedures triggers sql-server-2008-r2