sys.dm_os_memory_brokers (Transact-SQL)
適用対象: SQL Server Azure Synapse Analytics Analytics 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 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 アクセス許可が必要です。