sys.dm_hadr_availability_replica_states (Transact-SQL)
为每个本地可用性副本返回一行,并为与本地副本相同的 AlwaysOn 可用性组中每个远程可用性副本返回一行。 每一行都包含有关某一给定可用性副本的状态信息。
重要提示 |
---|
若要获取与某一给定可用性组中每个可用性副本有关的信息,请对正在承载主副本的服务器实例查询 sys.dm_hadr_availability_replica_states。在对正在承载某一可用性组的辅助副本的服务器实例进行查询时,此动态管理视图仅返回该可用性组的本地信息。 |
适用范围:SQL Server(SQL Server 2012 到当前版本)。 |
列名称 |
数据类型 |
说明 |
||||||||
---|---|---|---|---|---|---|---|---|---|---|
replica_id |
uniqueidentifier |
可用性副本的唯一标识符。 |
||||||||
group_id |
uniqueidentifier |
可用性组的唯一标识符。 |
||||||||
is_local |
bit |
可用性副本是否是本地的,可以是下列值之一: 0 = 指示某一可用性组中其主副本由本地服务器实例承载的远程辅助副本。 此值仅在主副本位置上出现。 1 = 指示本地可用性副本。 在辅助副本上,这是副本所属的可用性组的唯一可用值。 |
||||||||
角色 |
tinyint |
本地可用性副本或连接的远程可用性副本的当前 AlwaysOn 可用性组 角色,可以是下列值之一: 0 = 正在解析 1 = 主 2 = 辅助 有关 AlwaysOn 可用性组 角色的信息,请参阅 AlwaysOn 可用性组概述 (SQL Server)。 |
||||||||
role_desc |
nvarchar(60) |
role 的说明,可为下列值之一: RESOLVING PRIMARY SECONDARY |
||||||||
operational_state |
tinyint |
可用性副本的当前操作状态,可为下列值之一: 0 = 挂起故障转移 1 = 等待批准 2 = 联机 3 = 脱机 4 = 失败 5 = 失败,无仲裁 NULL = 副本不在本地。 有关详细信息,请参阅本主题中后面的角色和操作状态。 |
||||||||
operational_state_desc |
nvarchar(60) |
operational_state 的说明,可以是下列值之一: PENDING_FAILOVER PENDING ONLINE OFFLINE FAILED FAILED_NO_QUORUM NULL |
||||||||
recovery_health |
tinyint |
sys.dm_hadr_database_replica_states 动态管理视图的 database_state 列的汇总,其中:
|
||||||||
recovery_health_desc |
nvarchar(60) |
recovery_health 的说明,可为下列值之一: ONLINE_IN_PROGRESS ONLINE NULL |
||||||||
synchronization_health |
tinyint |
反映所有联接的可用性数据库(也称作“数据库副本”)的数据库同步状态 (synchronization_state) 以及可用性副本的可用性模式(同步提交或异步提交模式)的汇总。 状态的汇总将反映可用性副本上数据库的至少运行状况正常的汇总状态。
|
||||||||
synchronization_health_desc |
nvarchar(60) |
synchronization_health 的说明,可为下列值之一: NOT_HEALTHY PARTIALLY_HEALTHY HEALTHY |
||||||||
connected_state |
tinyint |
辅助副本当前是否连接到主副本,可以是下列值之一:
每个主副本都会跟踪同一可用性组中每个辅助副本的连接状态。 辅助副本仅跟踪主副本的连接状态。 |
||||||||
connected_state_desc |
nvarchar(60) |
connection_state 的说明,可以是下列值之一: DISCONNECTED CONNECTED |
||||||||
last_connect_error_number |
int |
上一个连接错误的编号。 |
||||||||
last_connect_error_description |
nvarchar(1024) |
last_connect_error_number 消息的文本。 |
||||||||
last_connect_error_timestamp |
datetime |
指示何时发生了 last_connect_error_number 错误的日期和时间的时间戳。 |
角色和操作状态
角色 role 反映某一给定可用性副本的状态,而操作状态 operational_state 则描述副本是否已准备好处理该可用性副本的所有数据库的客户端请求。 下表汇总了对于每个角色的可能的操作状态:RESOLVING、PRIMARY 和 SECONDARY。
角色 |
每个角色的操作状态的含义 |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
RESOLVING |
在某一可用性副本处于 RESOLVING 角色时,可能的操作状态如下:
|
||||||||||
PRIMARY |
当某一可用性副本履行 PRIMARY 角色时,它目前就是主副本。 可能的操作状态如下:
|
||||||||||
SECONDARY |
当某一可用性副本履行 SECONDARY 角色时,它目前就是辅助副本。 可能的操作状态如下:
|
安全性
权限
要求具有服务器的 VIEW SERVER STATE 权限。