您目前已離線,請等候您的網際網路重新連線

不支援您的瀏覽器

您必須更新瀏覽器,才能使用此網站。

更新至最新版本的 Internet Explorer

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

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

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

如果查詢中指定了此選項,選項 (MAXDOP)考慮改用 SQL 查詢提示可以覆寫sp_configure值中的 [最大平行度] 選項。在 SQL Server 2000 中,覆寫提示中指定的值小於或等於sp_configure值時,才會生效。在 SQL Server 2005 及更新版本中,覆寫永遠才會生效。在 SQL Server 2008年和更新版本,如果 MAXDOP 值超過使用 「 資源管理員 」 已設定的值,資料庫引擎會使用 「 資源管理員 MAXDOP 值。當您使用 MAXDOP 查詢提示時,與最大平行度選項一起使用的所有語意規則皆適用。其他兩個選項可以覆寫或影響 MAXDOP 設定如下所示:
  • 軟 NUMA
  • 平行索引
其他相關資訊
注意最大平行度] 組態選項並限制 SQL Server 使用的處理器數目。若要設定 SQL Server 使用的處理器數目,請使用相關性遮罩組態選項。

當您設定 MAXDOPvalue 時,請使用下列指導方針。

SQL Server 2005 及更新版本

與單一 NUMA 節點的伺服器小於 8 的邏輯處理器保留 MAXDOP 或其下的邏輯處理器 #
與單一 NUMA 節點的伺服器大於 8 的邏輯處理器將 MAXDOP 保持在 8
具有多個 NUMA 節點伺服器小於 8 的邏輯處理器,每個 NUMA 節點保留 MAXDOP 或其下的每個 NUMA 節點的邏輯處理器 #
具有多個 NUMA 節點伺服器大於 8 的邏輯處理器,每個 NUMA 節點將 MAXDOP 保持在 8



附註
使用這些相同的指導方針,當您設定 [最大平行度] 選項在 「 資源管理員 」 的工作負載群組。

這些指導方針所述的最大值 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 使用平行計劃,而且您未將限制 MAXDOP 查詢提示 8,最大值由 SQL Server 需要協調的高階伺服器上的所有處理器的時間會超過使用平行計劃的優點。

MAXDOP 設定適用於計劃中的每個步驟。每個步驟會使用一個 CPU 或由 MAXDOP 和永遠不會在之間的任何項目所指定的 Cpu 數目。如果步驟平行執行,查詢所使用的執行緒數目可能超過 MAXDOP 設定。

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

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

AdditionalInformation

如需有關平行查詢的詳細資訊,請至下列的 Microsoft 開發人員網路 (MSDN) 網站:最佳作法資訊有 64 個以上 Cpu 的電腦上執行的 SQL Server 執行個體時,請參閱下列 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 設定的詳細資訊,請檢閱 SQL Server 支援團隊部落格動態管理檢視 sys.dm_resource_governor_workload_groups 和下列文章中的資訊:

使用伺服器的 「 最大程度的平行處理原則 」 設定、 資源管理員的 MAX_DOP 及 MAXDOP – 這一個應該 SQL Server 的查詢提示?

如需有關產品或自動檢查這個條件,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 - 最後檢閱時間:05/02/2015 12:13:00 - 修訂: 3.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
  • Microsoft SQL Server 2014 Business Intelligence
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Enterprise Core
  • Microsoft SQL Server 2014 Express
  • Microsoft SQL Server 2014 Standard
  • Microsoft SQL Server 2014 Web
  • kbinfo kbmt KB2806535 KbMtzh
意見反應
//c.microsoft.com/ms.js'><\/script>");