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