使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

Microsoft 将 Microsoft SQL Server 2008 R2 Service Pack 1 修复分发为一个可下载文件。 由于修补程序是累积的,因此每个新版本都包含以前的 SQL Server 2008 R2 Service Pack 1 修复版本附带的所有修补程序和所有安全修补程序。

症状

从 Microsoft SQL Server 2008 升级到 Microsoft SQL Server 2008 R2 后,你可能会注意到,当你在 SQL Server 2008 R2 中的查询执行计划中运行使用并行度的查询时,性能会降低。 注意如果检查查询计划,则会看到存在比 SQL Server 2008 中更多的递归哈希联接操作。 此外,查询中使用的并行度(DOP)数越大,查询计划中使用的递归哈希联接操作的数量就越多。

原因

出现此问题的原因是基数估计中的一些更改。 如果实际内存使用率悬停在内存限制的周围,则基数估计中的小更改可能会触发泼溅。注意如果在查询中使用较大的 DOP 编号,则会更频繁地出现此问题。

解决方案

应用修补程序后,依赖于内存可用性的哈希联接分区计数将受到限制。 但是,此修补程序无法在所有情况下解决该问题。

累积更新信息

SQL Server 2008 R2 Service Pack 2

此问题的修补程序首次在累积更新3中发布。有关如何为 SQL Server 2008 R2 Service Pack 2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2754552 SQL Server 2008 R2 Service Pack 2 的累积更新包3 注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 Service Pack 2 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2730301 发布 SQL Server 2008 R2 Service Pack 2 后发布的 SQL Server 2008 R2 版本

SQL Server 2008 R2 Service Pack 1

此问题的修补程序首次发布,即累积更新8。有关如何为 SQL Server 2008 R2 Service Pack 1 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2723743 SQL Server 2008 R2 Service Pack 1 的累积更新程序包8注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 Service Pack 1 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2567616 在发布 SQL Server 2008 R2 Service Pack 1 之后发布的 SQL Server 2008 R2 版本

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

解决方法

若要解决此问题,请减小 DOP 数字,以便减少递归哈希联接操作。 但是,这可能会导致查询优化器使用串行执行,并且串行执行的开销很高。

更多信息

有关散列连接的详细信息,请转到以下 Microsoft 开发人员网络(MSDN)网站:

了解哈希联接有关 SQL server 内存授予的详细信息,请转到以下 MSDN 博客网站:

了解 SQL Server 内存授予

需要更多帮助?

需要更多选项?

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

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×