你目前正处于脱机状态,正在等待 Internet 重新连接

修复: 高 CPU 使用率的二进制大型对象列查询通过使用 SQL Server 2008 R2 中或在 SQL Server 2012 NOLOCK 提示时

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 2752432
症状
假定您查询的二进制大对象 (BLOB) 列 Microsoft SQL Server 2008 R2 中或 Microsoft SQL Server 2012年具有多个 Cpu 的计算机上。该查询使用 NOLOCK提示。在这种情况下,您遇到的计算机上的 CPU 使用率过高。

注意此问题是更有可能发生,如果计算机上安装的 16 个或多个 Cpu。
原因
因为并非有效的一种自旋锁避算法,则会出现此问题。
解决方案

累积更新信息

对于 SQL Server 2012 SP1 的累积更新 2

此问题的修补程序是累积更新 2 中首次推出。有关如何获取此累积更新包,SQL Server 2012 SP1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2790947 对于 SQL Server 2012 Service Pack 1 的累积更新包 2
注意 生成是累积性的因为每个新修补程序版本包含的所有修补程序和所有安全修补程序包含了以前 SQL Server 2012 SP1 修复程序版本。我们建议您考虑将应用了最新的修补程序版本包含此修复程序。详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2772858 在 SQL Server 2012 Service Pack 1 发布之后发布的 SQL Server 2012年生成

对于 SQL Server 2012年累积更新 5

此问题的修补程序是累积更新 5 中首次推出。有关如何为 SQL Server 2012年获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2777772 累积更新包 5 为 SQL Server 2012
注意 生成是累积性的因为每个新修补程序版本包含的所有修补程序和所有安全修补程序包含上一个 SQL Server 2012年修补程序版本。我们建议您考虑将应用了最新的修补程序版本包含此修复程序。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2692828 在 SQL Server 2012年发布之后发布的 SQL Server 2012年生成

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 生成
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
替代方法
若要解决此问题,请使用下列方法之一:
  • 减少二进制大型对象列的大小。
  • 删除 NOLOCK从查询提示。
  • 减少 SQL Server 使用的 Cpu 的数量。

属性

文章 ID:2752432 - 上次审阅时间:01/31/2013 01:04:00 - 修订版本: 4.0

Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, SQL Server 2012 Enterprise Core

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2752432 KbMtzh
反馈