當您使用 NOLOCK 提示,SQL Server 2008 R2 中,或在 SQL Server 2012年中查詢的二進位大型物件資料行時,請修正: 高 CPU 使用率

文章翻譯 文章翻譯
文章編號: 2752432 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

假設您查詢的二進位大型物件 (BLOB) 上的資料行或 Microsoft SQL Server 2012 Microsoft SQL Server 2008 R2 中有多個 Cpu 的電腦。此查詢使用 NOLOCK提示。在此情況下,您會遇到電腦上的高 CPU 使用率。

附註這是比較容易發生,如果電腦已安裝的 16 或多個 Cpu。

發生的原因

因為 spinlock 輪詢演算法是沒有效率,就會發生這個問題。

解決方案

累積更新資訊

SQL Server 2012 sp1 的累積更新 2

若要修正這個問題首次發表累積的更新程式 2] 中。如需有關如何取得此累積更新套件,SQL Server 2012 sp1 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2790947 SQL Server 2012 Service Pack 1 的累積更新套件 2
附註 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,所有安全性修正先前的 SQL Server 2012 SP1 隨附都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2772858 SQL Server 2012 Service Pack 1 發行之後所發行的 SQL Server 2012年組建

SQL Server 2012年累積更新 5

若要修正這個問題首次發表累積更新 5] 中。如需有關如何取得此累積更新套件,以 SQL Server 2012年的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2777772 SQL Server 2012年的累積更新套件 5
附註 因為組建是累計的每個新的修正程式版本中,會包含所有 hotfix,而所有安全性修正先前的 SQL Server 2012年隨附的都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 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
附註 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,隨附於前一筆 SQL Server 2008 R2 Service Pack 2 的所有安全性修正都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 Microsoft 知識庫中的文件:
2730301 SQL Server 2008 R2 Service Pack 2 已發行之後所發行的 SQL Server 2008 R2 組建

狀況說明

Microsoft 已經確認這是 「 適用於 」 一節中所列的 Microsoft 產品中的問題。

其他可行方案

若要解決這個問題,請使用下列方法之一:
  • 減少的二進位大型物件資料行的大小。
  • 移除 NOLOCK從查詢的提示。
  • 降低 SQL Server 所使用的 Cpu 數目。

屬性

文章編號: 2752432 - 上次校閱: 2013年1月31日 - 版次: 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
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2752432
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com