应用对象SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) 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

症状

当执行包含 "插入到 ..." 的查询时SELECT 语句在 SQL Server 2014 或2016中将值插入分区的聚集列存储索引时,发生内部查询死锁。

解决方案

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

SQL Server 2016 RTM 的累积更新5

SQL Server 2016 SP1 的累积更新2

SQL Server 2014 的累积更新 3 Service Pack 2 注意 安装此更新后,必须设置跟踪标记2469以启用修补程序。 若要设置跟踪标记2469,请参阅 Microsoft 开发人员网络(MSDN)网站上的 跟踪标记(transact-sql) 主题。

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

SQL Server 2016 的最新累计更新

SQL Server 2014 的最新累积更新

解决方法

若要解决此问题,请使用以下某种方法:

  • 将 SELECT 语句的中间结果存储在临时表中,然后将结果插入到来自临时表的聚集列存储索引中。

  • 使用 DOP = 1 运行查询。

状态

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

参考

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

需要更多帮助?

需要更多选项?

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