sys.dm_os_memory_brokers (Transact-SQL)

適用対象:yesSQL Server (サポートされているすべてのバージョン) yesAzure Synapse Analytics yesAnalytics Platform 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_RESERVE : 現在要求を実行することで、将来の使用のために予約されたメモリ。
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

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

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

アクセス許可

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

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

参照

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