应用对象
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) SQL Server 2016 Service Pack 1 SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

症状

请考虑以下情况:

  • 在 Microsoft SQL Server 2016 和2017中执行查询。

  • 生成的查询计划包含一个批处理模式分支和一个联接中涉及的行模式分支。

  • 在 "行模式" 分支中,有并行和串行运算符。

在这种情况下,可能会发生死锁情况。

注意: 如果将查询的 最大并行度(MAXDOP)设置为 1 ,则不会发生此问题。

解决方案

在 SQL Server 的以下累积更新中修复了此问题:

       SQL Server 2017 的累积更新4

       SQL Server 2016 SP1 累积更新 7

提示要解决此问题,必须启用查询优化器修补程序跟踪标志(TF)4199。 

有关查询优化程序修补程序和跟踪标记的详细信息,请参阅:

SQL Server 查询优化程序修复程序的 TF 4199 服务模型

DBCC 控制台命令和跟踪标记

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

SQL Server 2017 的最新累计更新

SQL Server 2016 的最新累计更新

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。