当前位置: 首页 > article >正文

AlwaysOn 可用性组副本所在服务器以及该副本上数据库的各项状态信息

目录标题

    • 语句
      • 代码解释:
      • 1. `sys.dm_hadr_database_replica_states` 视图字段详细解释及官网链接
        • 官网链接
        • 字段解释
      • 2. `sys.availability_replicas` 视图字段详细解释及官网链接
        • 官网链接
        • 字段解释
    • 查看视图的创建语句
      • 方法一:使用 SQL Server Management Studio (SSMS)
      • 方法二:使用系统视图 `sys.sql_modules`
        • 代码解释:
      • 方法三:使用 `sp_helptext` 存储过程
        • 注意事项:
    • `[dbo].[ha_status]`
      • 1. 视图基本信息
      • 2. 视图定义
      • 3. 选择列及计算列
      • 4. 表连接
      • 总结
    • `[master].[dbo].[ha_status]` 的全面解释
      • 整体概述
      • 1. 查询语句部分
        • 各部分解释
      • 2. 视图 `[ha_status]` 各列详细解释
        • 标识信息
        • 故障转移相关
        • 副本角色与模式
        • 恢复时间与性能指标
        • 同步与状态信息
        • 其他信息
    • seeding
      • Seeding 的主要作用
      • 常见的 Seeding 状态及含义
        • 1. `NOT_STARTED`
        • 2. `IN_PROGRESS`
        • 3. `COMPLETED`
        • 4. `FAILED`
        • 5. `CANCELLED`
      • 查看 Seeding 状态的方法
        • 使用系统视图 `sys.dm_hadr_automatic_seeding`

语句

sys.dm_hadr_database_replica_statessys.availability_replicas 视图关联起来,

SELECT 
    ar.replica_id,
    ar.replica_server_name,
    ar.endpoint_url,
    ar.failover_mode_desc,
    ar.availability_mode_desc,
    drs.database_id,
    drs.group_database_id,
    drs.is_local,
    drs.is_primary_replica,
    drs.synchronization_state,
    drs.synchronization_state_desc,
    drs.is_commit_participant,
    drs.synchronization_health,
    drs.synchronization_health_desc,
    drs.database_state,
    drs.database_state_desc,
    drs.is_suspended,
    drs.suspend_reason,
    drs.suspend_reason_desc,
    drs.recovery_lsn,
    drs.truncation_lsn,
    drs.last_sent_lsn,
    drs.last_sent_time,
    drs.last_received_lsn,
    drs.last_received_time,
    drs.last_hardened_lsn,
    drs.last_hardened_time,
    drs.last_redone_lsn,
    drs.last_redone_time,
    drs.log_send_queue_size,
    drs.log_send_rate,
    drs.redo_queue_size,
    drs.redo_rate,
    drs.filestream_send_rate,
    drs.end_of_log_lsn,
    drs.last_commit_lsn,
    drs.last_commit_time,
    drs.low_water_mark_for_ghosts,
    drs.secondary_lag_seconds,
    drs.quorum_commit_lsn,
    drs.quorum_commit_time
FROM 
    sys.availability_replicas ar
JOIN 
    sys.dm_hadr_database_replica_states drs ON ar.replica_id = drs.replica_id;

在这里插入图片描述
在这里插入图片描述

SELECT DB_NAME(database_id) AS 'database', synchronization_state_desc FROM sys.dm_hadr_database_replica_states;

在这里插入图片描述

代码解释:

  1. sys.availability_replicas 视图

    • 该视图存储了 Always On 可用性组中每个副本的元数据信息。
    • replica_id:副本的唯一标识符。
    • replica_server_name:副本所在的 SQL Server 实例名称。
    • endpoint_url:副本的端点 URL,用于副本之间的通信。
    • failover_mode_desc:副本的故障转移模式描述,例如自动故障转移、手动故障转移等。
    • availability_mode_desc:副本的可用性模式描述,如同步提交、异步提交。
  2. sys.dm_hadr_database_replica_states 视图

    • 这是一个动态管理视图,提供了关于可用性组中数据库副本的实时状态信息。
    • 包含了你之前展示的众多列,如 database_idis_localis_primary_replica、同步状态相关列、日志序列号相关列等。
  3. JOIN 操作

    • 通过 JOIN 语句将 sys.availability_replicas 视图和 sys.dm_hadr_database_replica_states 视图根据 replica_id 进行关联。
    • 这样可以把副本的元数据信息(如副本所在服务器名称)和数据库副本的实时状态信息结合起来,让你既能确认 replica_id 对应的具体副本,又能查看该副本上数据库的详细状态。

1. sys.dm_hadr_database_replica_states 视图字段详细解释及官网链接

官网链接

sys.dm_hadr_database_replica_states (Transact - SQL)

字段解释
  • replica_id:可用性副本的唯一标识符,对应 sys.availability_replicas 中的 replica_id,用于关联两个视图。
  • group_id:可用性组的唯一标识符。
  • database_id:数据库的标识符,标识该副本中的数据库。
  • group_database_id:可用性组内数据库的唯一标识符。
  • is_local:指示该副本是否为本地副本。值为 1 表示是本地副本,0 表示不是。
  • is_primary_replica:指示该副本是否为主副本。1 表示主副本,0 表示辅助副本。
  • synchronization_state:数据库副本的同步状态的数字代码。例如 1 表示 SYNCHRONIZING(正在同步),2 表示 SYNCHRONIZED(已同步)等。
  • synchronization_state_desc:同步状态的文本描述,与 synchronization_state 代码对应。
  • is_commit_participant:指示该副本是否参与事务提交。1 表示参与,0 表示不参与。
  • synchronization_health:同步健康状态的数字代码。
  • synchronization_health_desc:同步健康状态的文本描述。
  • database_state:数据库状态的数字代码。
  • database_state_desc:数据库状态的文本描述。
  • is_suspended:指示该副本是否已暂停。1 表示暂停,0 表示未暂停。
  • suspend_reason:暂停原因的数字代码。
  • suspend_reason_desc:暂停原因的文本描述。
  • recovery_lsn:恢复日志序列号,指示数据库恢复的起始点。
  • truncation_lsn:截断日志序列号,指示可以截断日志的位置。
  • last_sent_lsn:主副本上最后发送到辅助副本的日志序列号。
  • last_sent_time:主副本上最后发送日志的时间。
  • last_received_lsn:辅助副本上最后接收到的日志序列号。
  • last_received_time:辅助副本上最后接收日志的时间。
  • last_hardened_lsn:辅助副本上最后持久化到磁盘的日志序列号。
  • last_hardened_time:辅助副本上最后持久化日志到磁盘的时间。
  • last_redone_lsn:辅助副本上最后重做的日志序列号。
  • last_redone_time:辅助副本上最后重做日志的时间。
  • log_send_queue_size:日志发送队列的大小(以字节为单位)。
  • log_send_rate:日志发送速率(以字节/秒为单位)。
  • redo_queue_size:重做队列的大小(以字节为单位)。
  • redo_rate:重做速率(以字节/秒为单位)。
  • filestream_send_rate:FileStream 数据的发送速率(以字节/秒为单位)。
  • end_of_log_lsn:日志末尾的日志序列号。
  • last_commit_lsn:最后提交事务的日志序列号。
  • last_commit_time:最后提交事务的时间。
  • low_water_mark_for_ghosts:幽灵记录的低水位标记。
  • secondary_lag_seconds:辅助副本相对于主副本的延迟秒数。
  • quorum_commit_lsn:法定提交的日志序列号。
  • quorum_commit_time:法定提交的时间。

2. sys.availability_replicas 视图字段详细解释及官网链接

官网链接

sys.availability_replicas (Transact - SQL)

字段解释
  • replica_id:可用性副本的唯一标识符,用于和 sys.dm_hadr_database_replica_states 视图进行关联。
  • group_id:可用性组的唯一标识符。
  • replica_metadata_id:副本的元数据标识符。
  • replica_server_name:承载该可用性副本的 SQL Server 实例的名称。
  • owner_sid:副本所有者的安全标识符。
  • endpoint_url:副本的端点 URL,用于副本之间的通信。
  • availability_mode:可用性模式的数字代码,例如 1 表示同步提交,2 表示异步提交。
  • availability_mode_desc:可用性模式的文本描述。
  • failover_mode:故障转移模式的数字代码,例如 1 表示自动故障转移,2 表示手动故障转移。
  • failover_mode_desc:故障转移模式的文本描述。
  • session_timeout&

http://www.kler.cn/a/534211.html

相关文章:

  • 2023年java面试问题大全及答案大全
  • 消费kafka消息示例
  • Redis --- 使用zset处理排行榜和计数问题
  • SpringBoot+SpringDataJPA项目中使用EntityManager执行复杂SQL
  • 自指学习:AGI的元认知突破
  • 21.2.2 保存
  • kamailio-osp模块
  • 洛谷P2789 直线交点数
  • 除了 Python,还有哪些语言可以调用淘宝 API?
  • 深度学习系列--02.损失函数
  • k8m 是一款轻量级、跨平台的 Kubernetes 仪表板
  • RabbitMQ:python基础调用
  • DS图(中)(19)
  • 【分布式架构理论2】分布式架构要处理的问题及解决方案
  • 【自然语言处理(NLP)】Bahdanau 注意力(Bahdanau Attention)原理及代码实现
  • Day36-【13003】短文,数组的行主序方式,矩阵的压缩存储,对称、三角、稀疏矩阵和三元组线性表,广义表求长度、深度、表头、表尾等
  • 02、NodeJS学习笔记,第二节:express与中间件
  • Redis常见数据类型与编码方式
  • RabbitMQ 与 Kafka 的核心区别,如何选择合适的消息中间件?
  • 【LLM】为何DeepSeek 弃用MST却采用Rejection采样
  • 洛谷P2638 安全系统
  • 解锁.NET Fiddle:在线编程的神奇之旅
  • 【Elasticsearch】filter聚合
  • 信标链的基本概念
  • python基础入门:2.2运算符与表达式
  • 根据SQL导出三线表文档