症状
假设你有一个使用某些秩函数的查询,例如ROW_NUMBER()函数。 对 Microsoft SQL Server 2008 中的表运行查询时,如果查询使用的是并行执行计划,则可能会收到不正确的结果。 注意此问题已在 Microsoft SQL Server 2008 R2 Service Pack 1 (SP1)及更高版本中得到修复。
解决方案
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 2008 SP3 的累积更新14 /en-us/help/2893410
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
有关针对类似问题的修复程序的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中的文章:
970198 修复:运行使用 SQL Server 2008 中的 row_number 函数或 SQL Server 2008 R2 中的查询时,收到错误结果
2433265 修复:当运行在 SQL Server 2008 和 SQL Server 2008 R2 中使用 ROW_NUMBER 函数以及左外部联接的查询时,可能会收到不正确的结果
2589980 修复:当你在 SQL Server 2008 中运行使用 row_number 函数和并行执行计划的 SELECT 或 DML 语句时,不正确的结果或约束冲突