应用对象
SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Developer SQL Server 2008 R2 Workgroup SQL Server 2008 R2 Standard SQL Server 2012 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise

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 网站:

有关并行查询处理的一般信息

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。