このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2014 で max degree of parallelism
サーバー構成オプションを構成する方法について説明します。 SQL Server のインスタンスが複数のマイクロプロセッサまたは CPU を持つコンピューター上で実行されている場合、並列プランの実行ごとに、1 つのステートメントを実行するために使用される最適な並列処理の度合い、つまりプロセッサの数が検出されます。
max degree of parallelism
オプションを使用すると、並列プラン実行で使用するプロセッサの数を制限できます。 SQL Server では、クエリ、インデックス データ定義言語 (DDL) 操作、静的カーソルとキーセットドリブン カーソル作成の並列実行プランが考慮されます。
このトピックの内容
作業を開始する準備:
max degree of parallelism オプションを構成するには、次を使用します。
補足情報:並列処理の最大次数オプションを構成した後
始める前に
制限事項と制約事項
- affinity mask オプションが既定値に設定されていない場合、対称マルチプロセッシング (SMP) システムで SQL Server で使用できるプロセッサの数が制限される可能性があります。
推奨事項
このオプションは高度なオプションであり、経験豊富なデータベース管理者または認定 SQL Server 技術者のみが変更する必要があります。
サーバーで並列処理の最大限度を特定できるようにするには、このオプションを 0 (既定値) に設定します。 並列処理の最大次数を 0 に設定すると、SQL Server は使用可能なすべてのプロセッサを最大 64 個のプロセッサで使用できます。 並列プランの生成を中止するには、
max degree of parallelism
を 1 に設定します。 1 つのクエリ実行で使用できるプロセッサ コアの最大数を指定するには、値を 1 ~ 32,767 に設定します。 使用可能なプロセッサ数よりも多い値を指定すると、実際に使用可能なプロセッサ数が使用されます。 コンピューターにプロセッサが 1 つしか搭載されていない場合、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 サーバーレベル権限がユーザーに付与されている必要があります。 ALTER SETTINGS 権限は、 sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。
SQL Server Management Studio を使用する
max degree of parallelism オプションを構成するには
オブジェクト エクスプローラーで、サーバーを右クリックし、 [プロパティ]をクリックします。
[詳細設定] ノードをクリックします。
[並列処理の最大限度] ボックスで、並列プランの実行で使用するプロセッサの最大数を指定します。
Transact-SQL の使用
max degree of parallelism オプションを構成するには
データベース エンジンに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、 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
詳細については、「サーバー構成オプション (SQL Server)」を参照してください。
補足情報: max degree of parallelism オプションを構成した後
新しい設定は、サーバーを再起動しなくてもすぐに有効になります。
参照
affinity mask サーバー構成オプション
RECONFIGURE (Transact-SQL)
サーバー構成オプション (SQL Server)
sp_configure (Transact-SQL)
インデックス作成 (Transact-SQL)
ALTER INDEX (Transact-SQL)
テーブル変更 (Transact-SQL)
DBCC CHECKTABLE (Transact-SQL)
DBCC CHECKDB (Transact-SQL)
DBCC CHECKFILEGROUP (Transact-SQL)
並列インデックス操作の構成
クエリ ヒント (Transact-SQL)
インデックス オプションの設定