サーバー構成: インデックス作成メモリ
適用対象: SQL Server
この記事では、SQL Server Management Studio または Transact-SQL を index create memory
使用して SQL Server のサーバー構成オプションを構成する方法について説明します。 このオプションは index create memory
、インデックスの作成時に最初に並べ替え操作に割り当てられたメモリの最大量を制御します。 このオプションの既定値は 0
(自己構成) です。 後でインデックスの作成にさらに多くのメモリが必要になり、メモリが使用可能な場合、サーバーはそれを使用します。 この操作は、このオプションの設定を超えています。 使用できないメモリが増える場合は、既に割り当てられているメモリを使用してインデックスの作成が続行されます。
制限事項
クエリあたりの最小メモリ数オプションの設定は、オプションよりもindex create memory
優先されます。 両方のオプションを変更し、次 index create memory
の値より min memory per query
小さい場合は、警告メッセージが表示されますが、値が設定されます。 クエリ実行中にも同様の警告が表示されます。
パーティション テーブルとパーティション インデックスを使用する場合、非アラインパーティション インデックスと高度な並列処理がある場合、インデックス作成の最小メモリ要件が大幅に増加する可能性があります。 このオプションを使用して、1 回のインデックス作成操作ですべてのインデックス パーティションに最初に割り当てられる合計メモリ容量を指定できるようになっています。 このオプションによって設定された量が、クエリの実行に必要な最小値より小さい場合、クエリはエラー メッセージで終了します。
このオプションの実行値は、SQL Server が実行されているオペレーティング システムとハードウェア プラットフォームに使用できるメモリの実際の量を超えません。
推奨事項
このオプションは詳細設定オプションであるため、熟練したデータベース管理者または認定された SQL Server プロフェッショナルだけが変更するようにしてください。
この index create memory
オプションは自己構成であり、通常は調整を必要とせずに動作します。 ただし、インデックスを正常に作成できない場合は、必要に応じて、このオプションの値を実行値より大きくしてください。
通常、稼働中のシステムではインデックス作成は頻度の少ない作業であり、多くの場合、閑散時に実行が予定されるジョブです。 したがって、インデックスを作成する頻度が低く、ピーク時間外の場合は、インデックス作成のパフォーマンスを index create memory
向上させることができます。 ただし、 クエリ 構成オプションあたりの最小メモリ数は小さい値のままにして、要求されたすべてのメモリが使用できない場合でもインデックス作成ジョブが開始されるようにします。
アクセス許可
パラメーターなしで、または最初のパラメーターだけを指定して sp_configure
を実行する権限は、既定ですべてのユーザーに付与されます。 両方のパラメーターを指定して sp_configure
を実行し構成オプションを変更したり RECONFIGURE
ステートメントを実行したりするには、ALTER SETTINGS
サーバーレベル権限がユーザーに付与されている必要があります。 ALTER SETTINGS
権限は、sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。
SQL Server Management Studio の使用 [SQL Server]
オブジェクト エクスプローラーで、サーバーを右クリックし、[プロパティ] を選択します。
[メモリ] ノードを選択します。
[インデックス作成メモリ] で、index create memory オプションの目的の値を入力または選択します。
インデックス作成の
index create memory
並べ替えで使用されるメモリの量を制御するには、このオプションを使用します。 このindex create memory
オプションは自己構成であり、ほとんどの場合、調整を必要とせずに機能します。 ただし、インデックスを正常に作成できない場合は、必要に応じて、このオプションの値を実行値より大きくしてください。 クエリの並べ替えは、オプションによってmin memory per query
制御されます。
Transact-SQL の使用
データベース エンジンに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、 sp_configure を使用して、
index create memory
オプションの値を4096
に設定する方法を示します。USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'index create memory', 4096; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
詳しくは、「サーバー構成オプション」をご覧ください。
補足情報: インデックス作成メモリ オプションを構成した後
新しい設定は、サーバーを再起動しなくてもすぐに有効になります。