症状
当你针对 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2012 中的分区表运行查询时,将间歇性返回不正确的结果。 如果满足以下条件,则会发生此问题:
-
表格分区之间的大小差异很大。
-
查询在查询执行计划中使用较高的并行度。
注意高度表示最大并行度(MAXDOP)选项设置为大于六的数字。
解决方案
累积更新信息
SQL Server 2012 累积更新6
此问题的修补程序首次在累积更新6中发布。有关如何为 SQL Server 2012 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2728897 SQL Server 2012 累积更新包6注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2692828 在 SQL Server 2012 发布后发布的 SQL Server 2012 版本
SQL Server 2012 SP1 的累积更新2
此问题的修补程序首次在累积更新2中发布。有关如何获取此累积更新包的 SQL Server 2012 SP1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2790947 SQL Server 2012 的累积更新包 2 Service Pack 1注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2012 SP1 修补程序版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2772858 在发布 SQL Server 2012 Service Pack 1 之后发布的 SQL Server 2012 版本
累积更新4 SQL Server 2008 R2 Service Pack 2 (SP2)
此问题的修补程序首次在累积更新4中发布。有关如何为 SQL Server 2008 R2 Service Pack 2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2777358 SQL Server 2008 R2 Service Pack 2 的累积更新程序包4注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 Service Pack 2 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2730301 发布 SQL Server 2008 R2 Service Pack 2 后发布的 SQL Server 2008 R2 版本
解决方法
若要解决此问题,请运行使用小于6的并行度的查询。注意 最佳 MAXDOP 值可能有所不同。 若要确保删除此问题,请将 MAXDOP 值设置为 1。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。