症状
在 SQL Server 2014 (兼容级别120)和 SQL Server 2016 (兼容级别130)中重新设计了称为基数预估器(CE)的基数估计逻辑,以提高查询计划的质量。但是,当你编译包含具有 DISTINCT 或 GROUP BY 运算符的许多联接的复杂查询时,编译可能需要比预期更长的时间。
解决方案
此更新修复了 SQL Server 2016 的Service Pack 1 。注意 安装此更新后,必须设置跟踪标记4199以启用修补程序。 若要设置跟踪标记4199,请参阅 MSDN 上的 跟踪标记(transact-sql)主题。
SQL Server 2016 的每个新版本都包含上一版本中包含的所有修补程序和所有安全修补程序。 我们建议你安装 SQL Server 2016 的最新版本。
解决方法
若要解决此问题,请使用以下某种方法:
-
使用跟踪标记9481将查询优化程序基数估计模型设置为 SQL Server 2012 或早期版本。
-
将数据库的兼容性级别更改为 SQL Server 2012 (110)或早期版本。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的 术语。