KB4052119 - 修复:在 SQL Server 2016 中重启 DTC 服务后,AG 数据库中的新分布式事务失败

应用对象
SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

症状

请考虑以下情形:

  • 你在 Microsoft SQL Server 2016 中有一个 AlwaysOn 可用性组 (AG) 数据库。
  • 重新启动 Microsoft 分布式事务处理协调器 (DTC) 服务。
  • 假设你在启用了 AG 的数据库中执行分布式事务。 在这种情况下,您可能会注意到事务失败并出现类似于以下的错误:

注意

消息 8510,级别 20,状态 3,行 LineNumber
 登记操作失败:0x8004d01c (XACT_E_CONNECTION_DOWN) 。 SQL Server无法向分布式事务处理协调器 (MS DTC) 注册Microsoft此事务的资源管理器。 事务可能已被客户端或资源管理器停止。
 
 消息 596,级别 21,状态 1,行 LineNumber
 无法继续执行,因为会话处于终止状态。
 
 消息 0,级别 20,状态 0,行 行编号
 当前命令上发生严重错误。  如果有结果,应丢弃。

解决方法

此问题的解决方法是在重新启动 SQL Server 服务后可能不会收到错误。

解决方法

此问题已在 SQL Server 的累积更新中进行了修复:

SQL Server 2016 SP1 累积更新 6

关于 SQL Server 的累积更新:

SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

SQL Server 2016 的最新累计更新

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

参考资料

了解 Microsoft 用于描述软件更新的术语。