sys.dm_os_memory_nodes (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

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

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

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_clerksのmemory_node_id関連します。 NULL 値は許可されません。
virtual_address_space_reserved_kb bigint 仮想アドレス予約の数を KB 単位 (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 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)