sys.dm_exec_query_optimizer_memory_gateways (Transact-SQL)
適用対象: SQL Server 2016 (13.x) 以降 Azure SQL DatabaseAzure SQL Managed Instance
同時実行クエリの最適化を調整するために使用されるリソース セマフォの現在の状態を返します。
Column | 種類 | 説明 |
---|---|---|
pool_id | int | Resource Governorのリソース プール ID |
name | sysname | コンパイル ゲート名 (Small Gateway、Medium Gateway、Big Gateway) |
max_count | int | 同時コンパイルの最大構成数 |
active_count | int | このゲート内のコンパイルの現在アクティブな数 |
waiter_count | int | このゲート内のウェイターの数 |
threshold_factor | bigint | クエリの最適化で使用される最大メモリ部分を定義するしきい値係数。 小規模なゲートウェイの場合、threshold_factorは、小さなゲートウェイでアクセスを取得する必要がある前に、1 つのクエリの最大オプティマイザー メモリ使用量をバイト単位で示します。 中規模ゲートウェイとビッグ ゲートウェイの場合、threshold_factorは、このゲートで使用可能なサーバー メモリの合計の部分を示します。 これは、ゲートのメモリ使用量のしきい値を計算するときに除数として使用されます。 |
threshold | bigint | 次のしきい値メモリ (バイト単位)。 メモリ消費量がこのしきい値に達した場合、このゲートウェイへのアクセス権を取得するには、クエリが必要です。 このゲートウェイへのアクセス権を取得するためにクエリが必要ない場合は"-1"。 |
is_active | bit | 現在のゲートを渡すためにクエリが必要かどうか。 |
アクセス許可
SQL Serverサーバーに対する VIEW SERVER STATE 権限が必要です。
Azure SQL Database には、データベースの VIEW DATABASE STATE 権限が必要です。
SQL Server 2022 以降のアクセス許可
サーバーに対する VIEW SERVER PERFORMANCE STATE 権限が必要です。
注釈
SQL Serverは、階層化されたゲートウェイ アプローチを使用して、許可される同時実行コンパイルの数を調整します。 小、中、大を含む 3 つのゲートウェイが使用されます。 ゲートウェイは、より大きなコンパイル メモリを必要とするコンシューマーによって、メモリ リソース全体の枯渇を防ぐのに役立ちます。
ゲートウェイで待機すると、コンパイルが遅延します。 コンパイルの遅延に加えて、調整された要求には、待機の種類の累積RESOURCE_SEMAPHORE_QUERY_COMPILE関連付けられます。 RESOURCE_SEMAPHORE_QUERY_COMPILE待機の種類は、クエリがコンパイルに大量のメモリを使用していて、そのメモリが使い果たされているか、または全体的に十分なメモリが使用可能であることを示している場合がありますが、特定のゲートウェイで使用可能なユニットが使い果たされています。 sys.dm_exec_query_optimizer_memory_gatewaysの出力は、クエリ実行プランをコンパイルするためのメモリが不足しているシナリオのトラブルシューティングに使用できます。
例
A. リソース セマフォの統計の表示
SQL Serverのこのインスタンスの現在のオプティマイザー メモリ ゲートウェイの統計情報は何ですか?
SELECT [pool_id], [name], [max_count], [active_count],
[waiter_count], [threshold_factor], [threshold],
[is_active]
FROM sys.dm_exec_query_optimizer_memory_gateways;
参照
動的管理ビューと動的管理関数 (Transact-SQL)
実行関連の動的管理ビューと関数 (Transact-SQL)
DBCC MEMORYSTATUS コマンドを使用して、SQL Server 2005SQL Server 2014 のRESOURCE_SEMAPHORE_QUERY_COMPILEで大規模なクエリ コンパイル待機のメモリ使用量を監視する方法
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示