max degree of parallelism サーバー構成オプションの構成

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2012 の max degree of parallelism サーバー構成オプションを構成する方法について説明します。 複数のマイクロプロセッサまたは CPU が搭載されているコンピューター上で SQL Server のインスタンスを実行するときは、並列処理の最適な程度、つまり各並列プラン実行で 1 つのステートメントを実行するために使用するプロセッサの数が検出されます。 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 に設定すると、使用可能なすべてのプロセッサ (最大 64 プロセッサ) を SQL Server が使用できます。 並列プランが生成されないようにするには、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 オプションを構成するには

  1. オブジェクト エクスプローラーで、サーバーを右クリックし、[プロパティ] をクリックします。

  2. [詳細設定] ノードをクリックします。

  3. [並列処理の最大限度] ボックスで、並列プランの実行で使用するプロセッサの最大数を指定します。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

Transact-SQL の使用

max degree of parallelism オプションを構成するには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。 この例では、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 オプションを構成した後

新しい設定は、サーバーを再起動しなくてもすぐに有効になります。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

関連項目

参照

RECONFIGURE (Transact-SQL)

sp_configure (Transact-SQL)

CREATE INDEX (Transact-SQL)

ALTER INDEX (Transact-SQL)

ALTER TABLE (Transact-SQL)

DBCC CHECKTABLE (Transact-SQL)

DBCC CHECKDB (Transact-SQL)

DBCC CHECKFILEGROUP (Transact-SQL)

クエリ ヒント (Transact-SQL)

概念

affinity mask サーバー構成オプション

サーバー構成オプション

並列インデックス操作の構成

インデックス オプションの設定