min memory per query サーバー構成オプションの構成Configure the min memory per query Server Configuration Option

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

このトピックでは、 または を使用して、 SQL ServerSQL ServerSQL Server Management StudioSQL Server Management Studio min memory per query Transact-SQLTransact-SQLサーバー構成オプションを構成する方法について説明します。This topic describes how to configure the min memory per query server configuration option in SQL ServerSQL Server by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. min memory per query オプションは、クエリの実行用に割り当てる最小メモリ容量 (KB 単位) を指定します。The min memory per query option specifies the minimum amount of memory (in kilobytes) that will be allocated for the execution of a query. これは、最小メモリ許可とも呼ばれます。This is also known as the minimum memory grant. たとえば、 min memory per query を 2,048 KB に設定すると、クエリには少なくともその値分のメモリが必ず割り当てられます。For example, if min memory per query is set to 2,048 KB, the query is guaranteed to get at least that much total memory. 既定値は 1,024 KB です。The default value is 1,024 KB. 最小値は 512 KB、最大値は 2,147,483,647 KB (2 GB) です。The minimum value 512 KB, and the maximum is 2,147,483,647 KB (2 GB).

このトピックの内容In This Topic

はじめにBefore You Begin

制限事項と制約事項Limitations and Restrictions

  • min memory per query オプションの値は、index create memory オプションよりも優先順位が高くなります。The amount of min memory per query has precedence over the index create memory option. 両方のオプションを変更し、index create memory の設定値を min memory per query より小さくした場合は、警告メッセージが表示されます。ただし、値はそのまま設定されます。If you modify both options and the index create memory is less than min memory per query, you receive a warning message, but the value is set. クエリ実行中にも同様の警告が表示されます。During query execution, you receive another similar warning.

推奨事項Recommendations

  • このオプションは詳細設定オプションであるため、熟練したデータベース管理者または認定された SQL ServerSQL Server プロフェッショナルだけが変更するようにしてください。This option is an advanced option and should be changed only by an experienced database administrator or certified SQL ServerSQL Server professional.

  • SQL ServerSQL Server クエリ プロセッサは、クエリに割り当てる最適なメモリの量を決定しようとします。The SQL ServerSQL Server query processor tries to determine the optimal amount of memory to allocate to a query. min memory per query オプションを使用すると、管理者は、どの単一のクエリにも割り当てられるメモリ量の最小値を指定できます。The min memory per query option lets the administrator specify the minimum amount of memory any single query receives. 通常、クエリが大量のデータに対してハッシュおよび並べ替え操作を行う場合は、min memory per query オプションの設定よりも多くメモリがクエリに割り当てられます。Queries generally receive more memory than this, if they have hash and sort operations on a large volume of data. min memory per query の値を増やすと、小規模から中規模のクエリではパフォーマンスが向上する可能性があります。ただし、この値の増加によって、メモリ リソースでの競合も増加する可能性があります。Increasing the value of min memory per query may improve performance for some small to medium-sized queries, but doing so could lead to increased competition for memory resources. min memory per query オプションには、並べ替え操作用に割り当てられるメモリが含まれます。The min memory per query option includes memory allocated for sort operations.

  • min memory per query サーバー構成オプションは、特に稼働率が高いシステムではあまり大きい値を設定しないでください。これは、要求されたメモリ最小量を確保するか、query wait サーバー構成オプションに指定された値を超えるまで、クエリは待機する必要があるためです1Do not set the min memory per query server configuration option too high, especially on very busy systems, because the query has to wait1 until it can secure the minimum memory requested, or until the value specified in the query wait server configuration option is exceeded. クエリの実行に最小限必要として指定されている量よりも多くのメモリが実際に使用できる場合、そのクエリがメモリを有効に利用できるという条件の基に、クエリで追加のメモリが利用可能になります。If more memory is available than the specified minimum value required to execute the query, the query is allowed to make use of the additional memory, provided that the memory can be used effectively by the query.

1 このシナリオの場合、待機の種類は一般的に RESOURCE_SEMAPHORE になります。1 In this scenario, the wait type is typically RESOURCE_SEMAPHORE. 詳細については、「sys.dm_os_wait_stats (Transact-SQL)」を参照してください。For more information, see sys.dm_os_wait_stats (Transact-SQL).

セキュリティSecurity

PermissionsPermissions

パラメーターなしで、または最初のパラメーターだけを指定して sp_configure を実行する権限は、既定ですべてのユーザーに付与されます。Execute permissions on sp_configure with no parameters or with only the first parameter are granted to all users by default. 両方のパラメーターを指定して sp_configure を実行し構成オプションを変更したり RECONFIGURE ステートメントを実行したりするには、ALTER SETTINGS サーバーレベル権限がユーザーに付与されている必要があります。To execute sp_configure with both parameters to change a configuration option or to run the RECONFIGURE statement, a user must be granted the ALTER SETTINGS server-level permission. ALTER SETTINGS 権限は、 sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。The ALTER SETTINGS permission is implicitly held by the sysadmin and serveradmin fixed server roles.

SQL Server Management Studio の使用Using SQL Server Management Studio

min memory per query オプションを構成するにはTo configure the min memory per query option

  1. オブジェクト エクスプローラーで、サーバーを右クリックし、 [プロパティ] をクリックします。In Object Explorer, right-click a server and select Properties.

  2. [メモリ] ノードをクリックします。Click the Memory node.

  3. [クエリごとに使用する最小メモリ (KB 単位)] ボックスで、クエリの実行用に割り当てる最小メモリ容量 (KB 単位) を指定します。In the Minimum memory per query box, enter the minimum amount of memory (in kilobytes) that will be allocated for the execution of a query.

Transact-SQL の使用Using Transact-SQL

min memory per query オプションを構成するにはTo configure the min memory per query option

  1. データベース エンジンDatabase Engineに接続します。Connect to the データベース エンジンDatabase Engine.

  2. [標準] ツール バーの [新しいクエリ] をクリックします。From the Standard bar, click New Query.

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example into the query window and click Execute. この例では、 sp_configure を使用して、 min memory per query オプションの値を 3500 KB に設定する方法を示します。This example shows how to use sp_configure to set the value of the min memory per query option to 3500 KB.

USE AdventureWorks2012 ;  
GO  
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE ;  
GO  
EXEC sp_configure 'min memory per query', 3500 ;  
GO  
RECONFIGURE;  
GO    

補足情報: min memory per query オプションを構成した後Follow Up: After you configure the min memory per query option

新しい設定は、サーバーを再起動しなくてもすぐに有効になります。The setting takes effect immediately without restarting the server.

参照See Also

RECONFIGURE (Transact-SQL) RECONFIGURE (Transact-SQL)
サーバー構成オプション (SQL Server) Server Configuration Options (SQL Server)
sp_configure (Transact-SQL) sp_configure (Transact-SQL)
index create memory サーバー構成オプションの構成 Configure the index create memory Server Configuration Option
sys.dm_os_wait_stats (Transact-SQL) sys.dm_os_wait_stats (Transact-SQL)
sys.dm_exec_query_memory_grants (Transact-SQL)sys.dm_exec_query_memory_grants (Transact-SQL)