sys.dm_os_memory_nodes (Transact-SQL)

適用対象:yesSQL Server (サポートされているすべてのバージョン) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics 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 から SQL Server 2008 R2

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

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

このノード上で実行されているスレッドが複数ページ アロケーターを使って割り当てたコミット済みのメモリ量 (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 のサービス目標、およびエラスティック プール内のデータベースの場合、サーバー管理者アカウント、Azure Active Directory 管理者アカウント、または ##MS_ServerStateReader##サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

参照

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