症状
假设你在 Microsoft SQL Server 2012 或 Microsoft SQL Server 2014 中运行需要大量并行线程的复杂并行查询,并且工作线程在相应的计划程序中耗尽。 在极少数情况下,由于未检测到的死锁,查询不会对无限长的时间进行任何进度。注意 如果 SQL Server 中的其他计划程序具有可用的工作人员,则数据库引擎将能够正确处理其他查询。
原因
当出现的工作线程不足时,将不会将工作线程之间的特定等待视为潜在的阻止器。 因此,死锁监视器不会检测条件。 这将导致查询不响应。 发生此类情况的概率很低,主要取决于查询计划形状、并行度和工作线程可用性。
解决方案
累积更新信息
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 我们建议你下载并安装 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。