AGStatus SQL
来源:这里教程网
时间:2026-03-02 11:06:17
作者:
select n.group_name,
n.replica_server_name,
n.node_name,
rs.role_desc,
CASE WHEN rs.is_local = 1 THEN N'LOCAL' ELSE 'REMOTE' END as is_local,
DB_NAME(drs.database_id) as 'database_name',
rs.connected_state_desc,
CASE WHEN drs.is_suspended=0 THEN 'RESUMED' ELSE
CASE WHEN drs.suspend_reason_desc='SUSPEND_FROM_USER' THEN '用户手动挂起数据移动'
WHEN drs.suspend_reason_desc='SUSPEND_FROM_PARTNER' THEN '在强制故障转移后挂起数据库副本'
WHEN drs.suspend_reason_desc='SUSPEND_FROM_REDO' THEN '在重做阶段中出错'
WHEN drs.suspend_reason_desc='SUSPEND_FROM_APPLY' THEN '在将日志写入文件时出错(请参阅错误日志)'
WHEN drs.suspend_reason_desc='SUSPEND_FROM_CAPTURE' THEN '在捕获主副本上的日志时出错'
WHEN drs.suspend_reason_desc='SUSPEND_FROM_RESTART' THEN '在重新启动数据库前挂起数据库副本(请参阅错误日志)'
WHEN drs.suspend_reason_desc='SUSPEND_FROM_UNDO' THEN '在撤消阶段中出错(请参阅错误日志)'
WHEN drs.suspend_reason_desc='SUSPEND_FROM_REVALIDATION' THEN '在重新连接时检测到了日志更改不匹配(请参阅错误日志)'
WHEN drs.suspend_reason_desc='SUSPEND_FROM_XRF_UPDATE' THEN '找不到公共日志点(请参阅错误日志)'
ELSE '' END
END as is_suspended, --是否数据库挂起及原因
drs.synchronization_state_desc,
drs.synchronization_health_desc,
ISNULL(drs.log_send_queue_size,0) as log_send_queue_size, --主数据库中尚未发送到辅助数据库的日志记录量 (KB)
ISNULL(drs.redo_queue_size,0) as redo_queue_size, --辅助副本的日志文件中尚未重做的日志记录量 (KB)
CASE WHEN ISNULL(drs.log_send_rate,0)=0 THEN 0
ELSE CAST(ISNULL(drs.log_send_queue_size,0)*1./ISNULL(drs.log_send_rate,0) AS DECIMAL(18,2))
END as log_send_need_time, --主数据库中日志记录发送完成需要时间(秒)
CASE WHEN ISNULL(drs.redo_rate,0)=0 THEN 0
ELSE CAST(ISNULL(drs.redo_queue_size,0)*1./ISNULL(drs.redo_rate,0) AS DECIMAL(18,2))
END as redo_need_time --辅助副本中日志记录重做完成需要时间(秒)
from sys.dm_hadr_availability_replica_cluster_nodes n
join sys.dm_hadr_availability_replica_cluster_states cs
on n.replica_server_name = cs.replica_server_name
join sys.dm_hadr_availability_replica_states rs
on rs.replica_id = cs.replica_id
join sys.dm_hadr_database_replica_states drs
on rs.replica_id=drs.replica_id
where rs.connected_state_desc<>'CONNECTED'
or drs.synchronization_health_desc<>'HEALTHY'
or drs.is_suspended<>0
or CASE WHEN ISNULL(drs.log_send_rate,0)=0 THEN 0 ELSE CAST(ISNULL(drs.log_send_queue_size,0)*1./ISNULL(drs.log_send_rate,0) AS DECIMAL(18,2)) END>100
or CASE WHEN ISNULL(drs.redo_rate,0)=0 THEN 0 ELSE CAST(ISNULL(drs.redo_queue_size,0)*1./ISNULL(drs.redo_rate,0) AS DECIMAL(18,2)) END>100
编辑推荐:
- AGStatus SQL03-02
- sql server2012给我们挖的坑03-02
- MSSQL修改已有数据的表的自增列03-02
- 修改主机名后sqlserver配置修改03-02
- SQLServer执行存储过程失败(sys.xp_cmdshell)问题处理03-02
- powershell 批量循环更新sql脚本03-02
- sqlserver数据规范一: 表添加注释信息03-02
- 恢复master db 到新建的server上出现的坑03-02
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- SQLServer执行存储过程失败(sys.xp_cmdshell)问题处理
- [SQL Server]镜像监视器的使用和配置
[SQL Server]镜像监视器的使用和配置
26-03-02 - 如何通过电脑BIOS 设置每天自动开机,通过操作系统设置定时关机
如何通过电脑BIOS 设置每天自动开机,通过操作系统设置定时关机
26-03-02 - sql server 体系结构
sql server 体系结构
26-03-02 - 深入理解 SQL Server 2008 的锁机制
深入理解 SQL Server 2008 的锁机制
26-03-02 - ISA、VESA、PCI、AGP、PCI-E显卡都什么样子的?
ISA、VESA、PCI、AGP、PCI-E显卡都什么样子的?
26-03-02 - 记一次sql server 数据库sa用户无法登录的故障处理
记一次sql server 数据库sa用户无法登录的故障处理
26-03-02 - 电脑新的驱动程序不一定适合你的应用程序
电脑新的驱动程序不一定适合你的应用程序
26-03-02 - sqlserver2008 收缩事务日志文件
sqlserver2008 收缩事务日志文件
26-03-02 - 日志收缩
日志收缩
26-03-02
