設定 max degree of parallelism 伺服器組態選項
此主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中設定 max degree of parallelism 伺服器組態選項。 SQL Server 執行個體在具有多個微處理器或 CPU 的電腦上執行時,會偵測平行處理原則的最佳程度,也就是說,針對每一個平行計畫的執行,執行單一陳述式所要採用的處理器個數。 您可以使用 max degree of parallelism 選項來限制要用於平行計畫執行的處理器數目。 SQL Server 會針對查詢、索引資料定義語言 (DDL) 作業,以及靜態和索引鍵集驅動資料指標擴展,考慮進行平行執行計畫。
本主題內容
開始之前:
限制事項
建議
安全性
使用下列方法設定 max degree of parallelism 選項:
SQL Server Management Studio
Transact-SQL
待處理:設定 max degree of parallelism 選項之後
開始之前
限制事項
- 如果 affinity mask 選項不是設成預設值,它可能會限制對稱式多處理 (SMP) 系統上 SQL Server 可用的處理器個數。
建議
這個選項是進階選項,只有有經驗的資料庫管理員或通過認證的 SQL Server 技術人員才可變更。
若要讓伺服器判斷平行處理原則的最大程度,請將此選項設定為 0 (預設值)。 將平行處理原則的最大程度設定為 0 就會允許 SQL Server 使用所有可用的處理器 (最多 64 個處理器)。 若要抑制平行計畫的產生,請將 max degree of parallelism 設成 1。 將此值設成 1 到 32,767 的數字會指定單一查詢執行可用的最大處理器核心數目。 如果指定的數值大於可用的處理器數目,就會使用可用處理器的實際數目。 如果電腦只有一個處理器,則會忽略 max degree of parallelism 值。
您可以在查詢陳述式中指定 MAXDOP 查詢提示,藉以覆寫查詢中的 max degree of parallelism 值。 如需詳細資訊,請參閱<查詢提示 (Transact-SQL)>。
建立或重建索引的索引作業,或者卸除叢集索引的索引作業,都需要大量資源。 您可以在索引陳述式中指定 MAXDOP 索引選項,藉以覆寫索引作業中的 max degree of parallelism 值。 MAXDOP 值會在執行時套用至陳述式,且不會儲存在索引中繼資料內。 如需詳細資訊,請參閱<設定平行索引作業>。
除了查詢作業和索引作業外,此選項也會控制 DBCC CHECKTABLE、DBCC CHECKDB 和 DBCC CHECKFILEGROUP 的平行處理原則。 您可以使用追蹤旗標 2528 來停用這些陳述式的平行執行計畫。 如需詳細資訊,請參閱<追蹤旗標 (Transact-SQL)>。
安全性
權限
依預設,所有使用者都會取得不含參數或只含第一個參數之 sp_configure 的執行權限。 若要執行同時設定了兩個參數的 sp_configure 來變更組態選項或執行 RECONFIGURE 陳述式,使用者必須取得 ALTER SETTINGS 伺服器層級權限。 系統管理員 (sysadmin) 和伺服器管理員 (serveradmin) 固定伺服器角色會隱含地擁有 ALTER SETTINGS 權限。
[回到頁首]
使用 SQL Server Management Studio
設定 max degree of parallelism 選項
在 [物件總管] 中,以滑鼠右鍵按一下伺服器,然後選取 [屬性]。
按一下 [進階] 節點。
在 [平行處理原則的最大程度] 方塊中,選取用於執行平行計畫的最大處理器數目。
[回到頁首]
使用 Transact-SQL
設定 max degree of parallelism 選項
連接到 Database Engine。
在標準列中,按一下 [新增查詢]。
將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例示範如何使用 sp_configure 將 max degree of parallelism 選項設定為 8。
USE AdventureWorks2012 ;
GO
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'max degree of parallelism', 8;
GO
RECONFIGURE WITH OVERRIDE;
GO
如需詳細資訊,請參閱<伺服器組態選項>。
[回到頁首]
待處理:設定 max degree of parallelism 選項之後
設定會立即生效,不需要重新啟動伺服器。
[回到頁首]
請參閱
參考
DBCC CHECKTABLE (Transact-SQL)
DBCC CHECKFILEGROUP (Transact-SQL)