[推薦] 和 [最大平行度 」 組態選項,SQL Server 中的指導方針

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

在此頁中

結論

Microsoft SQL Server 最大平行度 (MAXDOP) 設定選項會控制在平行計劃中用於執行查詢的處理器數目。這個選項會決定適用於以平行方式執行工作的查詢計劃運算子的運算和執行緒資源。取決於視 SQL Server 設定在對稱式多處理器 (SMP) 電腦、 非統一記憶體存取 (NUMA) 的電腦或啟用超執行緒的處理器,您必須設定 最大平行度 適當選項。本文將告訴您可用來設定的一般指導方針 最大平行度 當您使用sp_configure系統時,SQL Server 的選項中,預存程序。

可以覆寫] 選項 (MAXDOP)考慮改用 SQL 查詢的提示, 最大平行度當查詢中指定了此選項時, sp_configure值中的選項。在 SQL Server 2000 中,覆寫提示中指定的值小於或等於sp_configure值時,才會生效。在 SQL Server 2005 和較新版本中,覆寫永遠才會生效。在 SQL Server 2008年和更新版本,如果 MAXDOP 值超過藉由使用 「 資源管理員 」 中,所設定的值,資料庫引擎會使用 「 資源管理員 MAXDOP 值。所有的語意規則所使用的 最大平行度當您在使用 MAXDOP 查詢提示選項皆適用的。其他兩個選項可以覆寫,或會影響 MAXDOP 設定如下所示:
  • 軟 NUMA
  • 平行索引

其他相關資訊

附註[ 最大平行度 組態選項並不會限制 SQL Server 所使用的處理器數目。若要設定 SQL Server 所使用的處理器數目,請使用 相似性遮罩 設定選項。

當您設定 MAXDOP 值,請使用下列指導方針。

SQL Server 2005 及更新版本

  • 對於使用超過 8 個處理器的伺服器,請使用下列設定:
    MAXDOP = 8
  • 對於使用等於或少於 8 個處理器的伺服器,請使用下列設定:
    MAXDOP = 0N

    附註在這個組態當中,N 表示處理器數目。
  • 伺服器已設定的 NUMA,MAXDOP 不應超過已指派給每個 NUMA 節點的 Cpu 數目。
  • 若為已啟用超執行緒的伺服器,MAXDOP 值不應該超過實體處理器數目。
  • 對於有 NUMA 設定和啟用超執行緒的伺服器,MAXDOP 值不應超過的每個 NUMA 節點的實體處理器數目。
附註當您將設定使用相同的準則 最大平行度「 資源管理員的工作負載的群組選項。

此外,這些指導方針所述的最大值 8 是適用於一般的 SQL Server 活動和交換運算子平行查詢計畫中所使用的額外負荷。您可改變此最大值,視您特定的應用程式的模式和 SQL Server 的執行個體同時發生的活動而定。比方說,請考慮下列情況:
  • 如果您有非常少數幾個相較於處理器數目的同時執行的查詢時,您可以設定 MAXDOP 值設為較大的值。比方說,您可以設定 MAXDOP 值為 16。
  • 如果您有非常大量的處理器數目與比較而得的同時執行的查詢,您可以將 MAXDOP 值設定為較小的值。比方說,您可以設定 MAXDOP 值為 4。
附註在生產伺服器上執行的值之前,請考慮使用的任何值,應該徹底測試針對特定的應用程式的活動或模式的查詢。

SQL Server 2000年以及更新版本

如果 SQL Server 使用序列計劃時,它會使用只有一個處理器。不過,如果 SQL Server 會使用平行處理原則,它就必須執行平行計劃使用所有已設定的處理器 (如 MAXDOP 查詢提示設定所決定)。比方說,如果您在使用 MAXDOP = 0 到 32 向伺服器上,SQL Server 會嘗試使用所有的 32 部處理器,即使 7 處理器可能會執行工作更有效率地使用只有一個處理器的序列計劃進行比較。由於這全的行為,如果 SQL Server 會使用平行計劃中,而且未限制最大的值設為 8,MAXDOP 查詢提示所需的 SQL Server 協調的高階伺服器上的所有處理器的時間會比使用平行計劃的優點。

將 MAXDOP 設定套用於計劃中的每個步驟。每一個步驟就可使用一個 CPU 或由 MAXDOP,對美景兩者之間的任何項目所指定的 Cpu 數。如果步驟平行執行,查詢所用的執行緒數目可能超過 MAXDOP 設定。

MAXDOP 的定義,請參閱 「 最大程度的平行處理原則選項 」 主題或在 SQL Server 中的 「 平行度 」 主題。

若要了解平行處理原則的運作方式,請參閱 SQL Server 線上叢書 》 中的 「 查詢處理器結構 」 主題的 「 平行查詢處理 」 段落。

其他資訊

如需有關平行查詢的詳細資訊,請移至下列的 Microsoft 開發人員網路 (MSDN) 網站:
平行度
最佳實務的資訊有 64 個以內的 Cpu 的電腦上執行的 SQL Server 執行個體時,請參閱下列 SQL Server 線上叢書 》 主題:
在有 64 個以內的 Cpu 的電腦上執行 SQL Server 的最佳作法
對於超執行緒功能的處理器執行 SQL Server 執行個體,請依照下列文 「 Microsoft 知識庫 」 中的文件中的建議:
322385 在超執行緒環境中的 SQL Server 支援
附註這項建議可能不適用於較新的處理器晶片,例如,Intel Nehalem 家族。

有關 SQL Server 所使用的處理器數目,並能識別的 SQL Server 且加入 NUMA 節點的數目,請使用動態管理檢視 sys.dm_os_sys_info 和 sys.dm_os_nodes。如需有關使用 「 資源管理員會強制套用 MAXDOP 設定的詳細資訊,請參閱動態管理檢視 sys.dm_resource_governor_workload_groups 中的資訊。

如需有關產品或工具,可自動檢查您的 SQL Server 的執行個體和 SQL Server 產品的版本,這種情況的詳細資訊,請參閱下表:
摺疊此表格展開此表格
規則的軟體規則標題規則描述依據評估規則的產品版本
SQL Server 2008 R2 最佳練習分析器 (SQL Server 2008 R2 BPA)平行度未設為建議值[SQL Server 2008 R2 最佳作法分析 (SQL Server 2008 R2 BPA) 可讓您提供的規則,來偵測這些條件的位置為適當的值 最大平行度選項無法搭配 NUMA 節點,並 MAXDOP 的 「 資源管理員的工作負載組態中的 Cpu 數目。SQL Server 2008 R2 BPA 同時支援 SQL Server 2008年與 SQL Server 2008 R2。

如果您執行 BPA 工具,卻遇到 「 資料庫引擎-平行度不設為建議值 」 的警告,進行比對最大平行度選項值和 「 資源管理員的工作負載 MAXDOP 值詳列 〈 摘要 〉 及 〈 其他資訊 〉 兩節的建議值。
SQL Server 2008 中,SQL Server 2008 R2
SQL Server 2012年最佳練習分析器 (SQL Server 2012 BPA)平行度未設為建議值[SQL Server 2012年最佳作法分析 (SQL Server 2012 BPA) 可讓您提供的規則,來偵測這些條件的位置為適當的值 最大平行度選項無法搭配 NUMA 節點,並 MAXDOP 的 「 資源管理員的工作負載組態中的 Cpu 數目。

如果您執行 BPA 工具,卻遇到 「 資料庫引擎-平行度不設為建議值 」 的警告,進行比對最大平行度選項值和 「 資源管理員的工作負載 MAXDOP 值詳列 〈 摘要 〉 及 〈 其他資訊 〉 兩節的建議值。
SQL Server 2012

屬性

文章編號: 2806535 - 上次校閱: 2013年2月6日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Enterprise Evaluation Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Developer Edition
關鍵字:?
kbinfo kbmt KB2806535 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2806535
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