sys.availability_groups (Transact-SQL)

适用范围:SQL Server

为 SQL Server 的本地实例承载其可用性副本的每个可用性组返回一行。 每一行都包含可用性组元数据的缓存的副本。

列名称 数据类型 描述
group_id uniqueidentifier 可用性组的唯一标识符 (GUID)。
name sysname 可用性组的名称。 这是在 Windows Server 故障转移群集 (WSFC) 内必须唯一的用户指定的名称。
resource_id nvarchar(40) WSFC 群集资源的资源 ID。
resource_group_id nvarchar(40) 可用性组的 WSFC 群集资源组的资源组 ID。
failure_condition_level int 必须触发自动故障转移的用户定义故障条件级别,即此表正下方表中所示的整数值之一。

失败条件级别的范围 (1-5) 是从最少限制的级别 1 到最多限制的级别 5。 给定的条件级别包含所有限制较少的级别。 因此,最严格的条件级别 5 包含四个限制较少的级别 (1-4),级别 4 包含级别 1-3,依此类推。

若要更改此值,请使用 FAILURE_CONDITION_LEVEL ALTER AVAILABILITY GROUP (Transact-SQL) 语句的选项
health_check_timeout int sp_server_diagnostics (Transact-SQL) 系统存储过程的 等待时间(以毫秒为单位), 以返回服务器运行状况信息,然后假定服务器实例速度缓慢或不响应。 默认值为 30000 毫秒(30 秒)。

若要更改此值,请使用 HEALTH_CHECK_TIMEOUT ALTER AVAILABILITY GROUP (Transact-SQL) 语句的选项
automated_backup_preference tinyint 用于对此可用性组中的可用性数据库执行备份的首选位置。 以下是可能的值及其说明。

0:主要。 备份应该始终在主副本上发生。
1:仅辅助数据库。 首选是对辅助副本执行备份。
2:首选辅助数据库。 首选对辅助副本执行备份,但如果没有辅助副本可用于备份操作,则对主副本执行备份是可以接受的。 这是默认行为。
3:任何副本。 没有是对主副本执行备份还是对辅助副本执行备份的优先选择。

有关详细信息,请参阅卸载可用性组次要副本的受支持备份
automated_backup_preference_desc nvarchar(60) automated_backup_preference描述,其中之一:

PRIMARY
SECONDARY_ONLY
SECONDARY
NONE
version smallint 存储在 Windows 故障转移群集中的可用性组元数据的版本。 添加新功能时,此版本号会递增。
basic_features bit 指定这是否是基本可用性组。 有关详细信息,请参阅 单一数据库的基本 AlwaysOn 可用性组。
dtc_support bit 指定是否为此可用性组启用 DTC 支持。 此设置 DTC_SUPPORTCREATE AVAILABILITY GROUP 控件选项。
db_failover bit 指定可用性组是否支持数据库运行状况的故障转移。 此设置 DB_FAILOVERCREATE AVAILABILITY GROUP 控件选项。
is_distributed bit 指定这是否是分布式可用性组。 有关详细信息,请参阅分布式可用性组
cluster_type tinyint 0:Windows Server 故障转移群集
1:无
2:外部群集(例如 Linux Pacemaker)
cluster_type_desc nvarchar(60) 群集类型的文本说明
required_synchronized_secondaries_to_commit int 必须处于同步状态才能完成提交的次要副本数
sequence_number bigint 标识可用性组配置序列。 每次可用性组主副本更新组的配置时,增量增加。
is_contained bit 1:为高可用性配置的大数据群集主实例。
0:所有其他。

失败条件级别值

下表描述了列可能的故障条件级别 failure_condition_level

失败条件
1 指定在发生以下任何情况时应启动自动故障转移:

- SQL Server 服务已关闭。
- 连接到 WSFC 故障转移群集的可用性组的租约过期,因为服务器实例未收到任何 ACK。

有关详细信息,请参阅工作原理:SQL Server Always On 租约超时
2 指定在发生以下任何情况时应启动自动故障转移:

- SQL Server 的实例不连接到群集,并且超出了可用性组的用户指定的 health_check_timeout 阈值。
- 可用性副本处于失败状态。
3 指定在发生了严重的 SQL Server 内部错误(例如孤立的自旋锁、严重的写访问冲突或过多的转储)时应启动自动故障转移。

这是默认值。
4 指定在发生了中等程度的 SQL Server 内部错误(例如在 SQL Server 内部资源池中出现持久的内存不足情况)时应启动自动故障转移。
5 指定在出现任何符合的失败条件时应启动自动故障转移,这些失败条件包括:

- SQL 引擎工作线程耗尽。
- 检测无法解决的死锁。

权限

VIEW ANY DEFINITION需要对服务器实例具有权限。