13、
Sys.
dm_hadr_availability_replica_states
为每个本地副本都返回一行,并为与本地副本位于同一AlwaysOn可用性组的每个远程副本都返回一行。每一行都包含给定副本的状态信息。
重要
若要获取有关给定的可用性组中的每个副本的信息,请在承载主副本的服务器实例上查询本动态管理视图。在对正在承载某一可用性组的辅助副本的服务器实例进行查询时,此动态管理视图仅返回该可用性组的本地信息。
列名 |
数据类型 |
描述 |
replica_id |
uniqueidentifier |
副本的唯一标识符。 |
group_id |
uniqueidentifier |
可用性组的唯一标识符。 |
is_local |
bit |
是否是本地的该副本之一:
0 =
指示某一可用性组中其主副本由本地服务器实例承载的远程辅助副本。此值仅在主副本位置上出现。
1 =
指示本地副本。在辅助副本上,这是副本所属的可用性组的唯一可用值。 |
role
role_desc |
tinyint
nvarchar(60) |
当前AlwaysOn 可用性组的本地副本或已连接的远程副本,其中一个角色:
0 = RESOLVING
正在解析
1 = PRIMARY
主
2 = SECONDARY
辅助
有关AlwaysOn可用性组角色的详细信息,请参阅
AlwaysOn可用性组概述
(SQL Server)。 |
operational_state
operational_state_desc |
tinyint
nvarchar(60) |
当前操作状态的副本,其中一个:
0 = PENDING_FAILOVER
挂起故障转移
1 = PENDING
挂起
2 = ONLINE
联机
3 = OFFLINE
脱机
4 = FAILED
失败
5 = FAILED_NO_QUORUM
失败,无仲裁
NULL =
副本不在本地。
有关详细信息,请参阅
角色和操作状态,本主题中更高版本。 |
recovery_health
recovery_health_desc |
tinyint
nvarchar(60) |
汇总
Sys.dm_hadr_database_replica_states动态管理视图的database_state列。以下是可能的值和及其说明。
0: ONLINE_IN_PROGRESS
正在进行。至少一个联接的数据库具有并非ONLINE的数据库状态(
database_state是不是0)。
1: ONLINE
联机。所有联接的数据库已联机数据库状态 (
database_state为 0)。
NULL:
is_local = 0 |
synchronization_health
synchronization_health_desc |
tinyint
nvarchar(60) |
反映数据库同步状态的汇总(
synchronization_state)的所有可用性数据库都联接(也称为
副本)和副本(将可用性模式同步提交或异步提交模式)。汇总将反映至少运行状况正常的累积的状态数据库副本上。以下是可能的值及其说明。
0: NOT_HEALTHY
不正常。至少有一个联接的数据库处于NOT SYNCHRONIZING状态。
1: PARTIALLY_HEALTHY
完全正常。一些副本未处于目标同步状态:同步提交副本应已同步,异步提交副本应正在同步。
2: HEALTHY
正常运行。所有副本均处于目标同步状态:同步提交副本已同步,异步提交副本正在同步。 |
connected_state
connected_state_desc |
tinyint
nvarchar(60) |
指示辅助副本当前是否连接到主副本。可能的值如下所示使用及其说明。
0: DISCONNECTED
已断开连接。可用性副本对于DISCONNECTED状态的响应取决于其角色:在主副本上辅助副本已断开连接,如果其辅助数据库将标记为NOT SYNCHRONIZED等待辅助副本重新连接; 在主副本上在辅助副本,一旦检测,它已断开连接,辅助副本会尝试重新连接到主副本。
1: 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出现错误。 |
write_lease_remaining_ticks |
bigint |
|
角色和操作状态
该角色,
角色
,反映了某一给定的可用性副本的状态和操作的状态,
operational_state
,描述副本是否已准备好处理所有的客户端请求可用性副本的数据库。下面是可以为每个角色的操作状态的摘要:RESOLVING、的主副本和辅助数据库。
正在解析:
正在解析角色中可用性副本时,可能的操作状态将是下表中所示。
操作状态 |
描述 |
PENDING_FAILOVER |
正在为可用性组处理故障转移命令。 |
OFFLINE |
可用性副本的所有配置数据都已在WSFC群集上更新,并且也在本地元数据中更新,但可用性组目前缺少主副本。 |
FAILED |
在试图从WSFC群集中检索信息时发生了读取失败。 |
FAILED_NO_QUORUM |
本地WSFC节点没有仲裁。这是一种推断状态。 |
主:
当可用性副本履行主角色时,它当前是主副本。下表中列出了可能的操作状态。
操作状态 |
描述 |
PENDING |
这是一个临时状态,但是,如果工作线程无法处理请求,主副本可能会处于此状态。 |
ONLINE |
可用性组资源已处于联机状态,并且所有数据库工作线程均已选取。 |
FAILED |
可用性副本无法从WSFC群集读取和/或写入。 |
辅助数据库:
当可用性副本履行辅助角色时,它当前是辅助副本。下表中列出了可能的操作状态。
操作状态 |
描述 |
ONLINE |
本地辅助副本连接到主副本。 |
FAILED |
本地辅助副本无法从 WSFC 群集读取和/或写入。 |
NULL |
在主副本上,当行与某一辅助副本相关时,将返回该值。 |