sys.dm_os_nodes(Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric SQL Database

SQLOS という内部コンポーネントは、ハードウェア プロセッサの局所性を疑似的に表現したノード構造を作成します。 これらの構造体は、 soft-NUMA を使用してカスタム ノード レイアウトを作成することで変更できます。

Note

SQL Server 2016 (13.x) 以降、SQL Server データベース エンジンは、特定のハードウェア構成にソフト NUMA を自動的に使用します。 詳細については、「 自動ソフト NUMAを参照してください。

次の表に、これらのノードに関する情報を示します。

Note

Azure Synapse AnalyticsのDMVに連絡する場合は、sys.dm_pdw_nodes_os_nodesという名前を使ってください。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

列名 データの種類 Description
node_id smallint ノードの ID。
node_state_desc nvarchar(256) ノードの状態の説明。 相互排他的な値から先に表示され、続けて、組み合わせ可能な値が表示されます。 例えば次が挙げられます。
Online、Thread Resources Low、Lazy Preemptive

相互に排他的な 4 つのnode_state_desc値があります。 以下に説明を示します。
  • ONLINE: ノードはオンラインです
  • オフライン: ノードがオフラインです
  • IDLE: ノードには保留中の作業要求がなく、アイドル状態になっています。
  • IDLE_READY: ノードには保留中の作業要求がなく、アイドル状態になる準備ができています。

3 つの組み合わせ可能なnode_state_desc値があり、その説明と共に以下に示します。
  • DAC: このノードは、 Dedicated 管理接続用に予約されています。
  • THREAD_RESOURCES_LOW: メモリ不足の状態のため、このノードに新しいスレッドを作成できません。
  • HOT ADDED: ホット追加 CPU イベントに応答してノードが追加されたことを示します。
memory_object_address varbinary(8) このノードに関連付けられているメモリ オブジェクトのアドレス。 sys.dm_os_memory_objects.memory_object_addressに対する一対一の関係。
memory_clerk_address varbinary(8) このノードに関連付けられているメモリ クラークのアドレス。 sys.dm_os_memory_clerks.memory_clerk_addressに対する一対一の関係。
io_completion_worker_address varbinary(8) このノードの IO 完了に割り当てられているワーカーのアドレス。 sys.dm_os_workers.worker_addressに対する一対一の関係。
memory_node_id smallint このノードが属するメモリ ノードの ID。 sys.dm_os_memory_nodes.memory_node_idに対する多対一の関係。
cpu_affinity_mask bigint このノードが関連付けられている CPU を識別するビットマップ。
online_scheduler_count smallint このノードによって管理されるオンライン スケジューラの数。
idle_scheduler_count smallint アクティブなワーカーの存在しないオンライン スケジューラの数。
active_worker_count int このノードによって管理されているすべてのスケジューラでアクティブになっているワーカーの数。
avg_load_balance int このノード上のスケジューラあたりの平均タスク数。
timer_task_affinity_mask bigint タイマー タスクの割り当てが可能なスケジューラを識別するビットマップ。
permanent_task_affinity_mask bigint 永続的なタスクの割り当てが可能なスケジューラを識別するビットマップ。
resource_monitor_state bit 各ノードには、1 つのリソース モニターが割り当てられます。 リソース モニターは実行中でもアイドル状態でもかまいません。 値 1 は実行中を示し、値 0 はアイドル状態を示します。
online_scheduler_mask bigint このノードのプロセス アフィニティ マスクを識別します。
processor_group smallint このノードのプロセッサ グループを識別します。
cpu_count int このノードで使用可能な CPU の数。
pdw_node_id int このディストリビューションがオンになっているノードの識別子。

適用対象:Azure Synapse Analytics

Permissions

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 PERFORMANCE STATE権限が必要です。