sys.dm_hadr_cluster_members (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Microsoft Fabric中的SQL数据库

如果Windows Server故障转移群集 (WSFC) 节点承载为 AlwaysOn 可用性组启用的SQL Server本地实例,并且具有 WSFC 仲裁,则视图将为每个构成仲裁的成员以及该成员的状态返回一行。 此集包括群集中的所有节点(按CLUSTER_ENUM_NODE函数类型返回Clusterenum)和磁盘或文件共享见证(如果有)。 为给定成员返回的行包含有关该成员状态的信息。 例如,对于具有多数节点仲裁的五个节点群集,其中一个节点处于关闭状态时,从为驻留在具有仲裁的节点上的 AlwaysOn 可用性组启用的服务器实例进行查询 sys.dm_hadr_cluster_members 时, sys.dm_hadr_cluster_members 将向下节点的状态反映为 NODE_DOWN

如果 WSFC 节点没有仲裁,则视图不返回任何行。

使用此动态管理视图可以解答下列问题:

  • 哪些节点当前正在 WSFC 群集上运行?

  • WSFC 群集可以容忍多少次失败,之后才会在多数节点情况下失去仲裁?

Tip

从 SQL Server 2014(12.x)开始,此动态管理视图除了可用性组(AG)外,还支持 AlwaysOn 故障转移群集实例(FCI)。

列名称 数据类型 可为 Null Description
member_name nvarchar(256) 成员名称,可以是一个计算机名称、驱动器号或文件共享路径。
member_type tinyint 成员的类型,可为下列值之一:

0 = WSFC 节点
1 = 磁盘见证
2 = 文件共享见证
3 = 云见证
member_type_desc nvarchar(60) member_type描述,其中之一:

CLUSTER_NODE
DISK_WITNESS
FILE_SHARE_WITNESS
CLOUD_WITNESS
member_state tinyint 成员状态,可为下列值之一:

0 = 脱机
1 = 在线
member_state_desc nvarchar(60) member_state描述,其中之一:

UP
DOWN
number_of_quorum_votes int 可分配给此仲裁成员的仲裁投票数。 对于 “无多数”:仅磁盘 报价,此值默认为 0。 对于其他仲裁类型,此值默认为 1
number_of_current_votes int 当前分配给此仲裁成员的仲裁投票数。 此值是动态的,反映动态仲裁和动态见证分配的实际仲裁值。

注解

在 Windows Server 故障转移群集(WSFC)中,群集列显示 Windows 群集详细信息。 如果没有 Windows 群集(例如 读取缩放可用性组Linux 上的可用性组),则与群集相关的列可能会显示有关内部默认群集的数据。 这些列仅供内部使用,可以忽略。

Permissions

对于 SQL Server 2019 (15.x) 和早期版本,需要对服务器具有 VIEW SERVER STATE 权限。

对于 SQL Server 2022(16.x)及更高版本,需要对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。