SQL Server 链接服务器"XXXXXXX"的 OLE DB 访问接口 "SQLNCLI11" 返回了消息 "没有活动事务。"。
一、确保互联双方服务器MS DTC服务已启动并正确配置
- 打开"服务"管理控制台(services.msc)
- 找到"Distributed Transaction Coordinator"服务
- 确保服务状态为"正在运行"
- 将启动类型设置为"自动"

二、配置互联双方服务器MS DTC安全设置
- 打开"组件服务"(dcomcnfg)
- 展开"组件服务" > "计算机" > "我的电脑" > "Distributed Transaction Coordinator"
- 右键点击"本地 DTC",选择"属性"

三、检查防火墙设置
确保以下端口在防火墙中开放:
- MS DTC 使用端口 135(RPC 端点映射器)
- 动态端口范围(通常为 49152-65535)
- 使用telnet工具在客户端上测试连接是否成功
四、配置链接服务器属性
- 数据访问
- RPC
- RPC OUT
- 为RPC启用针对分布式事务的升级

配置双方SQL Server服务连接
打开修改数据库属性设置

五、如双方服务器不在同一域下需要配置配置hosts隐藏文件
- hosts路径
C:\Windows\System32\drivers\etc - 配置信息
对方服务器ip 对方服务器计算机名
10.10.10.10 WIN-XXXXXXXX

六、测试
-- 测试分布式事务
BEGIN DISTRIBUTED TRANSACTION
-- 在链接服务器上执行一些操作
EXEC LINKServer.master.dbo.sp_executesql N'SELECT 1'
COMMIT TRANSACTION

浙公网安备 33010602011771号