sys.dm_os_memory_nodes (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

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

ノードは、物理 NUMA メモリ ノードごとに作成されます。 これらは、 sys.dm_os_nodesの CPU ノードとは異なる場合があります。

Windows メモリ割り当てルーチンを介して直接実行された割り当ては追跡されません。 次の表は、SQL Server メモリ マネージャー インターフェイスを使用してのみ実行されるメモリ割り当てに関する情報を示しています。

Note

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

列名 データ型 説明
memory_node_id smallint メモリ ノードの ID を指定します。 sys.dm_os_memory_clerksmemory_node_idに関連します。 NULL 値は許可されません。
virtual_address_space_reserved_kb bigint 仮想アドレス予約の数を KB 単位で示します。これは、コミットも物理ページにもマップされません。 NULL 値は許可されません。
virtual_address_space_committed_kb bigint コミットまたは物理ページにマップされた仮想アドレスの量を KB 単位で指定します。 NULL 値は許可されません。
locked_page_allocations_kb bigint SQL Server によってロックされている物理メモリの量を KB 単位で指定します。 NULL 値は許可されません。
single_pages_kb bigint 適用対象: SQL Server 2008 (10.0.x) から SQL Server 2008 R2 (10.50.x)。

このノードで実行されているスレッドによってシングル ページ アロケーターを使用して割り当てられるコミット済みメモリの量 (KB 単位)。 このメモリはバッファー プールから割り当てられます。 この値は、割り当て要求が満たされた物理的な場所ではなく、割り当て要求が発生したノードを示します。
pages_kb bigint 適用対象: SQL Server 2012 (11.x) 以降。

メモリ マネージャー ページ アロケーターによってこの NUMA ノードから割り当てられる、コミット済みのメモリ量 (KB 単位) を指定します。 NULL 値は許可されません。
multi_pages_kb bigint 適用対象: SQL Server 2008 (10.0.x) から SQL Server 2008 R2 (10.50.x)。

このノード上で実行されているスレッドが複数ページ アロケーターを使って割り当てたコミット済みのメモリ量 (KB 単位)。 このメモリは、バッファー プール外から割り当てられます。 この値は、割り当て要求が満たされた物理的な場所ではなく、割り当て要求が発生したノードを示します。
shared_memory_reserved_kb bigint このノードから予約されている共有メモリの量を KB 単位で指定します。 NULL 値は許可されません。
shared_memory_committed_kb bigint このノードでコミットされた共有メモリの量 (KB 単位) を指定します。 NULL 値は許可されません。
cpu_affinity_mask bigint 適用対象: SQL Server 2012 (11.x) 以降。

内部のみで使用します。 NULL 値は許可されません。
online_scheduler_mask bigint 適用対象: SQL Server 2012 (11.x) 以降。

内部のみで使用します。 NULL 値は許可されません。
processor_group smallint 適用対象: SQL Server 2012 (11.x) 以降。

内部のみで使用します。 NULL 値は許可されません。
foreign_committed_kb bigint 適用対象: SQL Server 2012 (11.x) 以降。

他のメモリ ノードからのコミット済みメモリの量を KB 単位で指定します。 NULL 値は許可されません。
target_kb bigint 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。

メモリ ノードのメモリ目標を KB 単位で指定します。
pdw_node_id int 適用対象: Azure Synapse Analytics、Analytics Platform System (PDW)

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

アクセス許可

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

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

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

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

関連項目

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