---
title: "sys.dm_os_cluster_nodes (Transact-SQL)"
description: sys.dm_os_cluster_nodes (Transact-SQL)
author: rwestMSFT
ms.author: randolphwest
ms.date: "08/18/2017"
ms.prod: sql
ms.technology: system-objects
ms.topic: "reference"
f1_keywords:
- "sys.dm_os_cluster_nodes_TSQL"
- "dm_os_cluster_nodes_TSQL"
- "dm_os_cluster_nodes"
- "sys.dm_os_cluster_nodes"
helpviewer_keywords:
- "sys.dm_os_cluster_nodes dynamic management view"
dev_langs:
- "TSQL"
ms.assetid: 92fa804e-2d08-42c6-a36f-9791544b1d42
monikerRange: ">=sql-server-2016||>=sql-server-linux-2017||>=aps-pdw-2016||=azure-sqldw-latest"
---
# sys.dm_os_cluster_nodes (Transact-SQL)
[!INCLUDE [sql-asa-pdw](../../includes/applies-to-version/sql-asa-pdw.md)]
Returns one row for each node in the failover cluster instance configuration. If the current instance is a failover clustered instance, it returns a list of nodes on which this failover cluster instance (formerly "virtual server") has been defined. If the current server instance is not a failover clustered instance, it returns an empty rowset.
> [!NOTE]
> To call this from [!INCLUDE[ssSDWfull](../../includes/sssdwfull-md.md)] or [!INCLUDE[ssPDW](../../includes/sspdw-md.md)], use the name **sys.dm_pdw_nodes_os_cluster_nodes**. [!INCLUDE[synapse-analytics-od-unsupported-syntax](../../includes/synapse-analytics-od-unsupported-syntax.md)]
|Column name|Data type|Description|
|-----------------|---------------|-----------------|
|**NodeName**|**sysname**|Name of a node in the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] failover cluster instance (virtual server) configuration.|
|status|**int**|Status of the node in a [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] failover cluster instance: 0, 1, 2, 3, -1. For more information, see [GetClusterNodeState Function](/windows/win32/api/clusapi/nf-clusapi-getclusternodestate).|
|status_description|**nvarchar(20)**|Description of the status of the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] failover cluster node.
0 = up
1 = down
2 = paused
3 = joining
-1 = unknown|
|is_current_owner|bit|1 means this node is the current owner of the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] failover cluster resource.|
|pdw_node_id|**int**|**Applies to**: [!INCLUDE[ssSDWfull](../../includes/sssdwfull-md.md)], [!INCLUDE[ssPDW](../../includes/sspdw-md.md)]
The identifier for the node that this distribution is on.|
## Remarks
When failover clustering is enabled, the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] instance can run on any of the nodes of the failover cluster that are designated as part of the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] failover cluster instance (virtual server) configuration.
> [!NOTE]
> This view replaces the fn_virtualservernodes function, which will be deprecated in a future release.
## Permissions
Requires VIEW SERVER STATE permission on the instance of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)].
## Examples
The following example uses sys. dm_os_cluster_nodes to return the nodes on a clustered server instance.
```
SELECT NodeName, status, status_description, is_current_owner
FROM sys.dm_os_cluster_nodes;
```
[!INCLUDE[ssResult](../../includes/ssresult-md.md)]
|NodeName|status|status_description|is_current_owner|
|--------------|------------|-------------------------|------------------------|
|node1|0|up|1|
|node2|0|up|0|
|Node3|1|down|0|
## See Also
[sys.dm_os_cluster_properties (Transact-SQL)](../../relational-databases/system-dynamic-management-views/sys-dm-os-cluster-properties-transact-sql.md)
[sys.dm_io_cluster_shared_drives (Transact-SQL)](../../relational-databases/system-dynamic-management-views/sys-dm-io-cluster-shared-drives-transact-sql.md)
[sys.fn_virtualservernodes (Transact-SQL)](../../relational-databases/system-functions/sys-fn-virtualservernodes-transact-sql.md)
[Dynamic Management Views and Functions (Transact-SQL)](~/relational-databases/system-dynamic-management-views/system-dynamic-management-views.md)