ITPub博客

首页 > 数据库 > SQL Server > Sqlserver查询alwayson同步情况脚本(2)

Sqlserver查询alwayson同步情况脚本(2)

原创 SQL Server 作者:ywxj_001 时间:2020-09-27 16:20:59 0 删除 编辑

SELECT 

ag.name AS ag_name

, ar.replica_server_name

, db_name(dr_state.database_id)

, is_ag_replica_local = CASE

WHEN ar_state.is_local = 1 THEN N'LOCAL'

ELSE 'REMOTE'

END 

, ag_replica_role = CASE

WHEN ar_state.role_desc IS NULL THEN N'DISCONNECTED'

ELSE ar_state.role_desc

END

, dr_state.last_redone_time

, dr_state.last_hardened_lsn

, dr_state.last_hardened_time

, datediff(ms,last_hardened_time, getdate()) as 'seconds behind primary'

FROM (

( sys.availability_groups AS ag 

JOIN sys.availability_replicas AS ar 

ON ag.group_id = ar.group_id 

)

JOIN 

sys.dm_hadr_availability_replica_states AS ar_state 

ON ar.replica_id = ar_state.replica_id

)

JOIN 

sys.dm_hadr_database_replica_states dr_state 

on 

ag.group_id = dr_state.group_id and dr_state.replica_id = ar_state.replica_id

order by last_hardened_lsn desc,last_hardened_time

last_hardened_time:这个时间点表示AlwaysOn主节点的事务日志传到从节点的时间。

last_redone_time:这个时间点表示 AlwaysOn主节点的事务日志传到从节点后完成redo的时间(完成落盘),完成redo表示从节点已经完全同步了主节点的事务日志。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22996654/viewspace-2724541/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
在零售、金融、互联网行业从事数据库相关工作10余年,有丰富的数据库管理和架构的相关经验。 涉及SQLServer、Oracle、MySQL、PostgreSQL等多种数据库。 目前在一家互联网公司担任数据库负责人。 负责整个集团数据库的架构设计和管理工作。

注册时间:2010-01-19

  • 博文量
    158
  • 访问量
    180268