サーバー構成: クエリあたりの最小メモリ
適用対象: SQL Server
この記事では、SQL Server Management Studio または Transact-SQL を min memory per query
使用して SQL Server のサーバー構成オプションを構成する方法について説明します。 このオプションは min memory per query
、クエリの実行に割り当てるメモリの最小量 (KB 単位) を指定します。 これは、最小メモリ許可とも呼ばれます。 たとえば、2,048 KB に設定されている場合 min memory per query
、クエリは少なくともその合計メモリを取得することが保証されます。 既定値は 1,024 KB です。 最小値は 512 KB、最大値は 2,147,483,647 KB (2 GB) です。
制限事項
min memory per query オプションの値は、index create memory オプションよりも優先順位が高くなります。 両方のオプションを変更し、index create memory の設定値を min memory per query より小さくした場合は、警告メッセージが表示されます。ただし、値はそのまま設定されます。 クエリ実行中にも同様の警告が表示されます。
推奨事項
このオプションは詳細設定オプションであるため、熟練したデータベース管理者または認定された SQL Server プロフェッショナルだけが変更するようにしてください。
SQL Server クエリ プロセッサは、クエリに割り当てる最適なメモリの量を決定しようとします。 min memory per query オプションを使用すると、管理者は、どの単一のクエリにも割り当てられるメモリ量の最小値を指定できます。 通常、クエリが大量のデータに対してハッシュおよび並べ替え操作を行う場合は、min memory per query オプションの設定よりも多くメモリがクエリに割り当てられます。 クエリあたりの最小メモリの値を大きくすると、一部の小規模から中規模のクエリのパフォーマンスが向上する可能性がありますが、これを行うと、メモリ リソースの競合が増加する可能性があります。 min memory per query オプションには、並べ替え操作用に割り当てられるメモリが含まれます。
クエリが要求された最小メモリをセキュリティで保護できるまで、またはクエリ待機サーバー構成オプションで指定された値を超えるまで、クエリが 1 を待機する必要があるため、クエリ サーバー構成オプションあたりの最小メモリを大きく設定しないでください。特に、非常にビジーなシステムの場合。 クエリの実行に必要な指定された最小値よりも多くのメモリが使用可能な場合、クエリでメモリを効果的に使用できる場合は、追加のメモリを使用できます。
1 このシナリオでは、待機の種類は通常 RESOURCE_SEMAPHORE
です。 詳細については、「sys.dm_os_wait_stats」を参照してください。
アクセス許可
パラメーターなしで、または最初のパラメーターだけを指定して sp_configure
を実行する権限は、既定ですべてのユーザーに付与されます。 両方のパラメーターを指定して sp_configure
を実行し構成オプションを変更したり RECONFIGURE
ステートメントを実行したりするには、ALTER SETTINGS
サーバーレベル権限がユーザーに付与されている必要があります。 ALTER SETTINGS
権限は、sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。
SQL Server Management Studio の使用 [SQL Server]
オブジェクト エクスプローラーで、サーバーを右クリックし、[プロパティ] を選択します。
[メモリ] ノードを選択します。
[クエリあたりの最小メモリ数] ボックスに、クエリの実行に割り当てる最小メモリ量 (KB 単位) を入力します。
Transact-SQL の使用
データベース エンジンに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、 sp_configure を使用して、
min memory per query
オプションの値を3500
KB に設定する方法を示します。USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'min memory per query', 3500; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
補足情報: クエリごとの最小メモリ オプションを構成した後
新しい設定は、サーバーを再起動しなくてもすぐに有効になります。