KB4052119 - 修复:在 2016 SQL Server 重启 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)

症状

请考虑以下情形:

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

注意

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

解决方法

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

解决方法

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

SQL Server 2016 SP1 的累积更新 6

关于SQL Server的累积更新:

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

2016 SQL Server的最新累积更新

状态

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

参考资料

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