插入链接服务器失败,并显示“事务管理器已禁用对远程/网络事务的支持”

Con*_*rad 6 sql-server distributed-databases sql-server-2012 distributed-transactions

两台服务器:sq009sq202,都运行 SQL Server 2012 SP3。

sq202 是为我们的 ERP 系统Sage 500托管数据库的 SQL Server 。
sq009 是托管IBM Maximo实例数据库的 SQL Server 。

情况:sq202中的表存在触发器,在sq202 DB中插入一行时,应该在sq009 DB中插入一行。但是,当插入记录时,我在 Sage 500 对话框中收到此错误:

无法执行该操作,因为链接服务器“sq009”的 OLE DB 访问接口“SQLNCLI11”无法开始分布式事务。
链接服务器“sq009”的 OLE DB 访问接口“SQLNCLI11”返回消息“事务管理器已禁用对远程/网络事务的支持。”。

两台服务器都将另一台作为链接服务器;两者都使用指定的安全上下文进行所有连接;两者都将服务器选项Enable Promotion of Distributed Transactions for RPC设置为False

我已经确认分布式事务协调器服务正在 sq009 上运行,并且我认为适当地设置了它的权限(即使我知道这不应该被需要):

本地 DTC 属性

但 sq009 显然仍在抱怨。

小智 2

尝试在 sq202 机器上启用 DTC,因为这是启动分布式事务的服务器。您还需要将启用 RPC 分布式事务升级选项设置为True,以及位于 sq202 盒子上的 sq009 链接服务器;当此选项为 TRUE 时,调用远程存储过程将启动分布式事务并使用 MS DTC 登记该事务。

有关 T-SQL 分布式事务和要求的有用信息: https://technet.microsoft.com/en-us/library/ms191156 (v=sql.105).aspx

链接服务器选项:https://technet.microsoft.com/en-us/library/ms186839(v =sql.105).aspx

  • @Conrad,地狱里有一个专门为 DBA 准备的地方。 (6认同)