Microsoft 将 Microsoft SQL Server 2008 R2 修补程序分发为一个可下载文件。 由于修复是累积的,因此每个新版本都包含上一个 SQL Server 2008 R2 修复版本中包含的所有修补程序和安全修补程序。
症状
请考虑以下情况:
-
在具有多个处理器的计算机上运行 SQL Server 2008 R2 或 SQL Server 2012 的实例。
-
对具有大量空间数据的表运行并行查询。
在这种情况下,SQL Server可能需要很长时间才能运行查询。
请注意,此问题可能在以下情况下之一发生。
-
将MAXDOP 查询提示选项设置为大于 2 的值。
-
将 Max Degree of Parallelism选项设置为服务器配置中大于 2 的值。
原因
出现此问题的原因是查询计划中未使用空间索引。
解决方法
对于 SQL Server 2012,请在启动时或在用户会话中启用跟踪标志 4199。
累积更新信息
SQL Server 2008 R2 Service Pack 1
此问题的修补程序首次在 SQL Server 2008 R2 Service Pack 1 的累积更新 3 中发布。 有关如何获取此累积更新包的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:
2591748 SQL Server 2008 R2 Service Pack 1 的累积更新包 3
请注意,由于生成是累积的,因此每个新修补程序版本都包含上一个 SQL Server 2008 R2 修复版本中包含的所有修补程序和安全修补程序。 建议考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567616 SQL Server 2008 R2 Service Pack 1 发布后发布的 SQL Server 2008 R2 版本。
SQL Server 2008 R2
此问题的修补程序首次在累积更新包 9 中发布。 有关如何获取 SQL Server 2008 R2 的此累积更新包的详细信息,请单击以下文章编号,查看 Microsoft 知识库中的文章:
2567713 SQL Server 2008 R2 的累积更新包 9
请注意,由于生成是累积的,因此每个新修补程序版本都包含上一个 SQL Server 2008 R2 修复版本中包含的所有修补程序和安全修补程序。 建议考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
981356 SQL Server 2008 R2 发布后发布的 SQL Server 2008 R2 版本。
注意: 应用累积更新后,必须启用跟踪标志 4199 (TF 4199) 才能使修补程序生效。 有关详细信息,请参阅 KB974006 - SQL Server查询优化器修补程序跟踪标志 4199 服务模型 (microsoft.com)。
解决方法
若要解决此问题,请使用以下某种方法:
-
在查询中使用 spatial index hint 选项。
-
禁用查询的 parallel execution plan 选项。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
更多信息
有关并行查询处理的详细信息,请访问以下 MSDN 网站: