sys.dm_os_memory_brokers (Transact-SQL)

適用対象:SQL ServerAzure Synapse Analytics AnalyticsPlatform System (PDW)

SQL Server の内部割り当てでは、SQL Server メモリ マネージャーが使用されます。 sys.dm_os_process_memoryからのプロセス メモリ カウンターと内部カウンターの違いを追跡すると、SQL Server メモリ空間内の外部コンポーネントからのメモリ使用量を示すことができます。

メモリ ブローカーは、現在の使用量と予想される使用量に基づいて、SQL Server 内のさまざまなコンポーネント間でメモリ割り当てを公平に分散します。 メモリ ブローカーは割り当てを実行しません。 これらは、コンピューティング分散の割り当てのみを追跡します。

次の表は、メモリ ブローカーに関する情報を示しています。

Note

これを Azure Synapse Analytics または Analytics Platform System (PDW) から呼び出すには、sys.dm_pdw_nodes_os_memory_brokersという名前を使用します。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

列名 データ型 説明
pool_id int リソース ガバナー プールに関連付けられているリソース プールの ID。
memory_broker_type nvarchar(60) メモリ ブローカーの種類。 現在、SQL Server には 3 種類のメモリ ブローカーがあり、その説明を以下に示します。

MEMORYBROKER_FOR_CACHE: キャッシュされたオブジェクトで使用するために割り当てられるメモリ (バッファー プール キャッシュではありません)。

MEMORYBROKER_FOR_STEAL: バッファー プールから盗まれたメモリ。 このメモリはメモリ クラークによって追跡され、現在の所有者によって解放されるまで、他のコンポーネントで再利用することはできません。

MEMORYBROKER_FOR_REStandard Edition RVE: 現在実行中の要求によって将来使用するために予約されているメモリ。
allocations_kb bigint この種類のブローカーに割り当てられているメモリの量 (キロバイト (KB (キロバイト))。
allocations_kb_per_sec bigint 1 秒あたりのメモリ割り当ての割合 (キロバイト (KB (キロバイト))。 メモリ割り当て解除の場合、この値は負の値になる可能性があります。
predicted_allocations_kb bigint ブローカーによるメモリの予想割り当て量。 これは、メモリ使用量パターンに基づいています。
target_allocations_kb bigint 推奨されるメモリ割り当て量 (KB 単位)。現在の設定とメモリの使用パターンに基づいて決定されます。 このブローカーは、この数に拡大または縮小する必要があります。
future_allocations_kb bigint 今後数秒間に行われる割り当ての予測数 (キロバイト (KB (キロバイト))。
overall_limit_kb bigint ブローカーが割り当てることができる最大メモリ量 (キロバイト (KB (キロバイト))。
last_notification nvarchar(60) メモリ使用量の推奨値。現在の設定と使用パターンに基づいて決定されます。 有効な値は次のとおりです。

成長

shrink

stable
pdw_node_id int 適用対象: Azure Synapse Analytics、Analytics Platform System (PDW)

このディストリビューションがオンになっているノードの識別子。

アクセス許可

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

SQL Database Basic、S0、S1 サービス目標、およびエラスティック プール内のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、またはサーバー ロール##MS_ServerStateReader##メンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

SQL Server 2022 以降でのアクセス許可

サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。

関連項目

SQL Server オペレーティングシステム関連の動的管理ビュー (Transact-sql)