MaxDOP数 (並列処理の最大限度) を確認、設定する - SQL Server
MaxDOP数 (並列処理の最大限度) を設定する手順を紹介します。
概要
SQL Serverで並列処理の最大限度数 (MaxDOP) 数を変更する手順を紹介します。
通常はインストール時にMaxDOP数を設定しますが、マシンの移行に伴いMaxDOP数を変更したい場合や、
MaxDOP数が無い、以前のバージョンからアップグレードした場合にはMaxDOP数が未設定の"0"になっている場合があります。
手順:SQL Server Management Studio で設定する場合
SQL Server Management Studioを起動し、データベースサーバーに接続します。
左側のツリービューでルートノードを選択し、右クリックします。下図のポップアップメニューが表示されますので、[プロパティ]の項目をクリックします。
[サーバーのプロパティ]ダイアログが表示されます。
左側の[ページの選択]エリアから[詳細設定]の項目をクリックして選択します。下図の表示に変わります。
右側のエリアを下にスクロールし、[並列処理]のセクションの[並列処理の最大限度]の項目の値を確認します。下図では 0 に設定されています。この値がMaxDOP数です。
値を変更できます。値を変更後、ダイアログの[OK]ボタンをクリックしてダイアログを閉じます。
以上で設定は完了です。
手順:SQLコマンドで設定する場合
MaxDOP数は次のSQLコマンドで確認できます。
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;
EXEC sp_configure;
実行すると結果が取得できます。
max degree of parallelism
の値
config_value
がMaxDOP値です。
MaxDOP数を設定する場合は、次のSQLコマンドになります。
EXEC sp_configure 'max degree of parallelism', (設定したい数);
EXEC sp_configure;
MaxDOP数を8に設定する場合は、次のコマンドになります。
EXEC sp_configure 'max degree of parallelism', 8;
EXEC sp_configure;
補足
上記のコマンドを実行することで、
show advanced options
が
1
に設定された状態になり、
EXEC sp_configure
すると毎回詳細な情報が表示される状態になります。
元の状態に戻すには、以下のコマンドを実行して、
show advanced options
を
0
に戻します。
EXEC sp_configure 'show advanced options', 0;
RECONFIGURE WITH OVERRIDE;
MaxDOP数をいくつに設定すればよいか
以下の値が推奨されています。
CPUの構成 | コア数 (ハイバースレッディング含めた数) | MaxDOP数 |
シングルソケット (NUMAノード = 1) | 8以下 | コア数以下に設定 |
シングルソケット (NUMAノード = 1) | 8以上 | 8 |
デュアルソケット以上 (NUMAノード > 1) | 8以下 | 1ソケットのコア数以下に設定 |
デュアルソケット以上 (NUMAノード > 1) | 8以上 | 8 |
補足
Xeon Scalable Processor でSub NUMA Clustering を有効にしている場合は、デュアルソケットとみなして計算します。
詳しくは
NUMAノード数の記事を参照してください。
例:intel Xeon® W-1390 Processor の場合
コア数が8、スレッド数は16のため、MaxDOPに8を設定します。
このページのキーワード
- SQL Server MaxDOP
- MaxDOP
- SQL Server 並列処理 最大限度
- MaxDOP 設定
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。