sys.availability_replicas (Transact-SQL)
适用范围:SQL Server
为属于 WSFC 故障转移群集中任何 AlwaysOn 可用性组的每个可用性副本都返回一行。
如果本地服务器实例无法与 WSFC 故障转移群集联系,例如由于群集关闭或丢失了仲裁,则仅返回本地可用性副本的行。 这些行将仅包含在元数据中本地缓存的数据列。
列名称 | 数据类型 | 描述 |
---|---|---|
replica_id | uniqueidentifier | 副本的唯一 ID。 |
group_id | uniqueidentifier | 副本所属于的可用性组的唯一 ID。 |
replica_metadata_id | int | 数据库引擎中可用性副本的本地元数据对象的 ID。 |
replica_server_name | nvarchar(256) | 承载此副本的 SQL Server 实例的服务器名称;对于非默认实例,则为其实例名称。 |
owner_sid | varbinary(85) | 为此可用性副本的外部所有者向此服务器实例注册的安全标识符 (SID)。 对于非本地可用性副本则为 NULL。 |
endpoint_url | nvarchar(128) | 用户指定的数据库镜像端点的字符串表示形式,该数据库镜像端点由用于数据同步的主副本和辅助副本之间的连接使用。 有关这些终结点 URL 语法的信息,请参阅在添加或修改可用性副本时指定终结点 URL (SQL Server)。 NULL = 无法联系 WSFC 故障转移群集。 若要更改此终结点,请使用 ALTER AVAILABILITY GROUPTransact-SQL 语句的ENDPOINT_URL选项。 |
availability_mode | tinyint | 副本的可用性模式,可为下列值之一: 0 |异步提交。 主副本可以不必等待辅助副本将日志写入磁盘,即可提交事务。 1 |同步提交。 主副本等待提交给定的事务,直到辅助副本将事务写入磁盘。 4 |仅配置。 主副本以同步方式将可用性组配置元数据发送到副本。 用户数据不会传输到副本。 在 SQL Server 2017 CU1 及更高版本中可用。 有关详细信息,请参阅可用性模式(Always On 可用性组)。 |
availability_mode_desc | nvarchar(60) | availability_mode的说明,其中一项: ASYNCHRONOUS_COMMIT SYNCHRONOUS_COMMIT CONFIGURATION_ONLY 若要更改可用性副本的可用性模式,请使用 ALTER AVAILABILITY GROUPTransact-SQL 语句的 AVAILABILITY_MODE 选项。 无法将副本的可用性模式更改为CONFIGURATION_ONLY。 不能将CONFIGURATION_ONLY副本更改为辅助副本或主副本。 |
failover_mode | tinyint | 可用性副本的故障转移模式,其中一种: 0 |自动故障转移。 副本是自动故障转移的潜在目标。 仅当可用性模式设置为同步提交(availability_mode = 1),并且可用性副本当前同步时,才支持自动故障转移。 1 |手动故障转移。 设置为手动故障转移的向辅助副本的故障转移必须由数据库管理员手动启动。 要执行的故障转移的类型将依赖于是否同步辅助副本,如下所示: 如果可用性副本未同步或者仍在同步,则只能发生强制故障转移(可能会丢失数据)。 如果可用性模式设置为同步提交(availability_mode = 1),并且可用性副本当前已同步,则可能发生手动故障转移而不丢失数据。 若要查看可用性副本中每个可用性数据库的数据库同步运行状况汇总,请使用sys.dm_hadr_availability_replica_states动态管理视图的synchronization_health和synchronization_health_desc列。 此汇总信息考虑每个可用性数据库的同步状态和其可用性副本的可用性模式。 注意:若要查看给定可用性数据库的同步运行状况,请查询sys.dm_hadr_database_replica_states动态管理视图的synchronization_state和synchronization_health列。 |
failover_mode_desc | nvarchar(60) | failover_mode的说明,其中之一: MANUAL AUTOMATIC 若要更改故障转移模式,请使用 ALTER AVAILABILITY GROUPTransact-SQL 语句的 FAILOVER_MODE 选项。 |
session_timeout | int | 超时期限(秒)。 超时期限是指副本接收来自其他副本的消息而等待的最长时间,超过此时间,将主副本和辅助副本之间的连接视为已失败。 会话超时检测辅助副本是否与主副本相连接。 在检测到与辅助副本的连接失败时,主副本将辅助副本视为 NOT_SYNCHRONIZED。 在检测到与辅助副本的连接失败时,辅助副本只会尝试重新连接。 注意: 会话超时不会导致自动故障转移。 若要更改此值,请使用 ALTER AVAILABILITY GROUPTransact-SQL 语句的SESSION_TIMEOUT选项。 |
primary_role_allow_connections | tinyint | 可用性是允许所有连接还是仅允许读写连接,其中: 2 = 所有(默认值) 3 = 读写 |
primary_role_allow_connections_desc | nvarchar(60) | primary_role_allow_connections的说明,其中一项: ALL READ_WRITE |
secondary_role_allow_connections | tinyint | 正在履行辅助角色的可用性副本(也就是辅助副本)是否可以接受来自客户端的连接,可为下列值之一: 0 = 否。 不允许连接到辅助副本中的数据库,且不支持读取这些数据库。 这是默认设置。 1 = 只读。 仅允许针对辅助副本中的数据库进行只读连接。 副本中的所有数据库都可用于读访问。 2 = 全部。 允许针对辅助副本中的数据库的所有连接进行只读访问。 有关详细信息,请参阅活动次要副本:可读次要副本(Alway On 可用性组)。 |
secondary_role_allow_connections_desc | nvarchar(60) | secondary_role_allow_connections的说明,其中一项: NO READ_ONLY ALL |
create_date | datetime | 副本的创建日期。 NULL = 副本不位于此服务器实例上。 |
modify_date | datetime | 上次修改副本的日期。 NULL = 副本不位于此服务器实例上。 |
backup_priority | int | 表示相对于同一可用性组中的其他副本,在此副本上执行备份的用户指定的优先级。 该值是范围 0..100 中的整数。 有关详细信息,请参阅活动次要副本:次要副本备份(Always On 可用性组)。 |
read_only_routing_url | nvarchar(256) | 只读可用性副本的连接端点 (URL)。 有关详细信息,请参阅为可用性组配置只读路由 (SQL Server)。 |
read_write_routing_url | nvarchar(256) | SQL Server 2019 (15.x) 及更高版本。 副本为主要副本时的连接终结点(URL)。 有关详细信息,请参阅次要副本到主要副本读/写连接重定向(AlwaysOn 可用性组)。 |
seeding_mode | tinyint | 下列其中一项: 0:自动 1:手动 |
seeding_mode_desc | nvarchar(60) | 描述种子设定模式。 AUTOMATIC MANUAL |
安全性
权限
要求具有服务器实例的 VIEW ANY DEFINITION 权限。