対象者:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
アナリティクスプラットフォームシステム(PDW)
Microsoft FabricにおけるSQLデータベース
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 (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 サービス対象、および Elastic Pool のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または ##MS_ServerStateReader##サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。
SQL Server 2022 以降でのアクセス許可
サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。