Con*_*rad 6 sql-server distributed-databases sql-server-2012 distributed-transactions
两台服务器:sq009
和sq202
,都运行 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 上运行,并且我认为适当地设置了它的权限(即使我知道这不应该被需要):
但 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
归档时间: |
|
查看次数: |
12370 次 |
最近记录: |