查看副本同步状态与健康(主副本执行)
-- **通过标准**:3 行结果全部 `SYNCHRONIZED` + `HEALTHY`。
SET NOCOUNT ON;
SELECT ar.replica_server_name, -- 副本服务器实例名(参与 AG 的节点名)
ar.availability_mode_desc, -- 可用性模式:SYNCHRONOUS_COMMIT(同步提交)/ ASYNCHRONOUS_COMMIT(异步提交)
db.name AS database_name, -- 可用性数据库名(通过 sys.databases 关联)
CASE drs.is_primary_replica WHEN 1 THEN 'PRIMARY' ELSE 'SECONDARY' END AS role,
-- 副本角色:PRIMARY=主副本 / SECOnDARY=辅助副本
drs.synchronization_state_desc, -- 数据移动状态:SYNCHRONIZED(已同步)/ SYNCHRONIZING(正在同步)/ NOT SYNCHRONIZING(未同步)等
drs.synchronization_health_desc, -- 同步健康状态:HEALTHY(正常)/ PARTIALLY_HEALTHY(部分正常)/ NOT_HEALTHY(不正常)
drs.last_hardened_lsn, -- 最后强化 LSN 所在日志块起点:辅助副本已持久化到磁盘的日志点(不是实际 LSN,为日志块 ID)
drs.last_redone_lsn, -- 最后重做日志的实际 LSN:辅助副本已重放应用的日志点(仅此列与 last_commit_lsn 为真实 LSN)
drs.last_commit_time -- 最后提交记录的时间:辅助副本上该时间与主副本一致;主副本上主/辅行时间差 ≈ 恢复点目标(RPO)
FROM sys.dm_hadr_database_replica_states drs
JOIN sys.availability_replicas ar ON drs.replica_id = ar.replica_id
JOIN sys.databases db ON drs.database_id = db.database_id
WHERE db.name = N'QY'
ORDER BY ar.replica_server_name;
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作