4、 Sys. availability_groups
为 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系统存储过程返回服务器运行状况信息,在服务器实例被假定为较慢或挂起之前。默认值为30000毫秒(30秒)。 若要更改此值,请使用带HEALTH_CHECK_TIMEOUT选项 ALTER AVAILABILITY GROUP T-SQL语句。 |
|
automated_backup_preference automated_backup_preference_desc |
tinyint
nvarchar(60) |
用于对此可用性组中的可用性数据库执行备份的首选位置。以下是可能的值和及其说明。 0: PRIMARY 主。备份应该始终在主副本上发生。 1: SECONDARY_ONLY 仅辅助副本。首选是对辅助副本执行备份。 2: SECONDARY 辅助副本优先。首选是对辅助副本执行备份,但如果没有可用于备份操作的辅助副本,对主副本执行备份是可接受的。这是默认行为。 3: NULL 任何副本。没有是对主副本执行备份还是对辅助副本执行备份的优先选择。 有关详细信息,请参阅 活动次要副本:次要副本备份(AlwaysOn可用性组)。 |
|
version |
smallint |
可用性组元数据存储在Windows故障转移群集中的版本。添加新功能时,此版本号将递增。 |
|
basic_features |
bit |
指定这是否是一个基本可用性组。有关详细信息,请参阅 基本可用性组(AlwaysOn可用性组)。 |
|
dtc_support |
bit |
指定是否已为此可用性组启用DTC支持。 DTC_SUPPORT的选项 CREATE AVAILABILITY GROUP控制此设置。 |
|
db_failover |
bit |
指定可用性组支持故障转移的数据库运行状况。 DB_FAILOVER的选项 CREATE AVAILABILITY GROUP控制此设置。 |
|
is_distributed |
bit |
指定这是否是一个分布式的可用性组。有关详细信息,请参阅 分布式可用性组(AlwaysOn可用性组)。 |
|
cluster_type cluster_type_desc |
tinyint Nvarchar(60) |
SQL 2017 新增加 集群类型。 |
|
required_synchronized_secondaries_to_commit |
int |
SQL 2017 新增加 集群中需要同步提交事务的副本数。 |
|
sequence_number |
bigint |
SQL 2017 新增加 |
失败条件级别值
下表描述了可能的故障条件级别 failure_condition_level 列。
|
值 |
失败条件 |
|
1 |
指定在发生以下任何情况时应启动自动故障转移: l SQL Server 服务已关闭。 l 用于连接到WSFC故障转移群集的可用性组的租约将过期,因为没有从服务器实例收到ACK。 有关详细信息,请参阅它的工作原理:SQL Server总是处于租用超时状态。 |
|
2 |
指定在发生以下任何情况时应启动自动故障转移: l SQL Server 实例未连接到群集,并且超出了可用性组的用户指定的健康检查超时阈值。 l 可用性副本处于失败状态。 l SQL Server 的实例未连接到群集,并且超出了可用性组的用户指定的 health_check_timeout 阈值。 |
|
3 |
指定在发生了严重的SQL Server内部错误(例如孤立的自旋锁、严重的写访问冲突或过多的转储)时应启动自动故障转移。 l 这是默认值。 |
|
4 |
指定在发生了中等程度的SQL Server内部错误(例如在SQL Server内部资源池中出现持久的内存不足情况)时应启动自动故障转移。 |
|
5 |
指定在出现任何符合的失败条件时应启动自动故障转移,这些失败条件包括: l SQL 引擎工作线程耗尽。 l 无法解决的死锁检测。 |
