症状
假设你尝试将值插入到 Microsoft SQL Server 2012 或 SQL Server 2014 中的前导索引列。 如果小于90% 的已插入行的值超过了直方图中的最高RANGE_HI_KEY 值,则会将该列视为固定值,而不是升序。 因此,未检测到升序键,并且通常用于修复 "升序" 键的跟踪标记2389和2390不起作用。 这会在你使用超过现有统计的 RANGE_HI_KEY 值的谓语时导致基数估计较差。注意 当应用此累积更新时,应启用跟踪标记4139。 这会导致 SQL Server 在所描述的方案中始终修改直方图,而不考虑前导列状态(升序、降序或静止)。
解决方案
此问题首先在 SQL Server 的以下累积更新中修复:
Sql server 2012 的累积更新 1 SP2累积更新 2 forsql server 2014 累积更新10 (适用于 sql server 2012 SP1 )
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。