You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

插入触发触发器写入链接服务器时出现‘无活动事务’错误求助

跨版本SQL Server触发器同步数据的分布式事务异常问题

我需要实现两台服务器的数据同步:当触发服务器的表插入数据时,自动同步到接收服务器。目前在仅包含names字段(类型为nchar(10))的测试小表上验证触发器同步方案,其中触发服务器是SQL Server 2014,接收服务器是SQL Server 2017,两台服务器处于不同网络层级。

触发器触发时抛出以下错误:

无法执行操作,因为链接服务器xxx的SQLNCLI11无法启动分布式事务... 返回消息“无活动事务”。

需要说明的是:手动通过链接服务器执行INSERT操作完全正常,只有触发器触发时才会出现这个问题。

我已经做过的排查和配置操作包括:

  • 编写了同步用的触发器
  • 配置防火墙,添加了允许DTC事务出入的规则,同时开放了1433端口
  • 配置了DTC的相关设置
  • 调整了链接服务器的属性配置
  • 尝试在触发器代码中添加SET XACT_ABORT ON、BEGIN DISTRIBUTED TRANSACTION等命令
  • 查阅了大量技术论坛的相关解决方案

如果需要查看具体的设置截图或脚本,我可以提供(会隐去敏感信息)。另外,我也在考虑改用复制方案来实现数据同步。

相关截图内容:

  • 触发器代码
  • 链接服务器设置
  • DTC设置
  • 防火墙基础设置
  • 防火墙DTC规则

内容的提问来源于stack exchange,提问作者Holland_Joshua

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 17:13:29