症状
假设你在 Microsoft SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 中使用并行查询计划运行包含 SQL Server 运算符的查询。 当满足以下条件时,流聚合运算符可能会生成重复行:
- 该查询使用常量或具有固定值 (的列,例如,在) 选择列时隐含来自谓词,如 column = <constant> 。
- SQL Server使用并行查询执行计划,其中包括一个流聚合运算符,该运算符在常量或固定值上聚合 (可以在包含 UNION 运算符的查询中引入此流聚合运算符,以生成不同的输出) 。
解决方法
SQL Server 2012
对于 SQL Server 2012,若要解决此问题,请应用 SQL Server 2012 Service Pack 2。 有关 SQL Server 2012 SP2 中修复的 Bug 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2958429 SQL Server 2012 Service Pack 2 中修复的 Bug
此问题已首先在 SQL Server 的以下累积更新中修复。
SQL Server 2008 R2 SP2 的累积更新 13 /en-us/help/2967540
SQL Server 2014 累积更新 2 /en-us/help/2967546
SQL Server 2012 SP1 累积更新 10 /en-us/help/2954099
关于 SQL Server 的累积更新
SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。