症状
假设你在 Microsoft SQL Server 2012 或 SQL Server 2014 中有一个非聚集列存储索引。 在并行模式下运行查询以使用列存储功能,查询将使用在复杂表达式中计算出的探测器方结果在多个联接列上联接索引。 在这种情况下,可能会发生不正确的结果集。
原因
当在哈希联接的探测器一侧优化表达式时,SQL Server 在哈希联接列中假定特定顺序。 此顺序可能会在查询优化期间中断,并且可能会导致哈希联接不匹配。
解决方案
在以下 SQL Server 累积更新中首先修复此问题:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 我们建议你下载并安装 SQL Server 的最新累积更新:
解决方法
若要解决此问题,请使用以下某种方法:
-
执行查询时,请使用 MAXDOP =1 查询提示。
-
升级到 SQL Server 2014。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。