--- title: "sys.dm_os_nodes (Transact-SQL) | Microsoft Docs" ms.custom: "" ms.date: "07/19/2017" ms.prod: "sql-non-specified" ms.reviewer: "" ms.suite: "" ms.technology: - "database-engine" ms.tgt_pltfrm: "" ms.topic: "language-reference" f1_keywords: - "sys.dm_os_nodes" - "dm_os_nodes_TSQL" - "dm_os_nodes" - "sys.dm_os_nodes_TSQL" dev_langs: - "TSQL" helpviewer_keywords: - "sys.dm_os_nodes dynamic management view" ms.assetid: c768b67c-82a4-47f5-850b-0ea282358d50 caps.latest.revision: 33 author: "JennieHubbard" ms.author: "jhubbard" manager: "jhubbard" --- # sys.dm_os_nodes (Transact-SQL) [!INCLUDE[tsql-appliesto-ss2008-all_md](../../includes/tsql-appliesto-ss2008-all-md.md)] An internal component named the SQLOS creates node structures that mimic hardware processor locality. These structures can be changed by using soft-NUMA to create custom node layouts. The following table provides information about these nodes. > **NOTE:** To call this DMV from [!INCLUDE[ssSDWfull](../../includes/sssdwfull-md.md)] or [!INCLUDE[ssPDW](../../includes/sspdw-md.md)], use the name **sys.dm_pdw_nodes_os_nodes**. |Column name|Data type|Description| |-----------------|---------------|-----------------| |node_id|**smallint**|ID of the node.| |node_state_desc|**nvarchar(256)**|Description of the node state. Values are displayed with the mutually exclusive values first, followed by the combinable values. For example:

Online, Thread Resources Low, Lazy Preemptive

There are four mutually exclusive node_state_desc values. They are listed below with their descriptions.

ONLINE: Node is online

OFFLINE: Node is offline

IDLE: Node has no pending work requests, and has entered an idle state.

IDLE_READY: Node has no pending work requests, and is ready to enter an idle state.

There are five combinable node_state_desc values, listed below with their descriptions.

DAC: This node is reserved for the Dedicated Administrative Connection.

THREAD_RESOURCES_LOW: No new threads can be created on this node because of a low-memory condition.

HOT ADDED: Indicates the nodes were added in response to a hot add CPU event.| |memory_object_address|**varbinary(8)**|Address of memory object associated with this node. One-to-one relation to sys.dm_os_memory_objects.memory_object_address.| |memory_clerk_address|**varbinary(8)**|Address of memory clerk associated with this node. One-to-one relation to sys.dm_os_memory_clerks.memory_clerk_address.| |io_completion_worker_address|**varbinary(8)**|Address of worker assigned to IO completion for this node. One-to-one relation to sys.dm_os_workers.worker_address.| |memory_node_id|**smallint**|ID of the memory node this node belongs to. Many-to-one relation to sys.dm_os_memory_nodes.memory_node_id.| |cpu_affinity_mask|**bigint**|Bitmap identifying the CPUs this node is associated with.| |online_scheduler_count|**smallint**|Number of online schedulers that are managed by this node.| |idle_scheduler_count|**smallint**|Number of online schedulers that have no active workers.| |active_worker_count|**int**|Number of workers that are active on all schedulers managed by this node.| |avg_load_balance|**int**|Average number of tasks per scheduler on this node.| |timer_task_affinity_mask|**bigint**|Bitmap identifying the schedulers that can have timer tasks assigned to them.| |permanent_task_affinity_mask|**bigint**|Bitmap identifying the schedulers that can have permanent tasks assigned to them.| |resource_monitor_state|**bit**|Each node has one resource monitor assigned to it. The resource monitor can be running or idle. A value of 1 indicates running, a value of 0 indicates idle.| |online_scheduler_mask|**bigint**|Identifies the process affinity mask for this node.| |processor_group|**smallint**|Identifies the group of processors for this node.| |cpu_count |**int** |Number of CPUs available for this node. | |pdw_node_id|**int**|The identifier for the node that this distribution is on.

**Applies to**: [!INCLUDE[ssSDWfull](../../includes/sssdwfull-md.md)], [!INCLUDE[ssPDW](../../includes/sspdw-md.md)]| ## Permissions On [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)], requires `VIEW SERVER STATE` permission. On [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)] Premium Tiers, requires the `VIEW DATABASE STATE` permission in the database. On [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)] Standard and Basic Tiers, requires the **Server admin** or an **Azure Active Directory admin** account. ## See Also [SQL Server Operating System Related Dynamic Management Views (Transact-SQL)](../../relational-databases/system-dynamic-management-views/sql-server-operating-system-related-dynamic-management-views-transact-sql.md) [Soft-NUMA (SQL Server)](../../database-engine/configure-windows/soft-numa-sql-server.md)