sys.dm_os_nodes (Transact-SQL)

適用対象:yesSQL Server (サポートされているすべてのバージョン) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

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

Note

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

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

Note

Azure Synapse Analytics または Analytics Platform System (PDW) からこの DMV を呼び出すには、sys.dm_pdw_nodes_os_nodes名を使用します。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

列名 データ型 説明
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: このノードは 専用管理接続用に予約されています。
  • THREAD_RESOURCES_LOW: メモリ不足の状態のため、このノードに新しいスレッドを作成することはできません。
  • HOT ADDED: ホット追加 CPU イベントに応答してノードが追加されたことを示します。
memory_object_address varbinary(8) このノードに関連付けられているメモリ オブジェクトのアドレス。 sys.dm_os_memory_objects.memory_object_addressとの 1 対 1 の関係。
memory_clerk_address varbinary(8) このノードに関連付けられているメモリ 書記のアドレス。 sys.dm_os_memory_clerks.memory_clerk_addressとの 1 対 1 の関係。
io_completion_worker_address varbinary(8) このノードの IO 完了に割り当てられているワーカーのアドレス。 sys.dm_os_workers.worker_addressとの 1 対 1 の関係。
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、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)
ソフト NUMA (SQL Server)