SQL AlwaysOn 辅助副本关闭
SQL AlwaysOn secondary replica down
我在 alwayson 中的一个副本宕机了几分钟。
我的问题是,辅助副本可以关闭多长时间?
我可以从 dmv table 或其他地方得到它吗?
10X
第二个副本可以永远完成,没有问题。但是,在您的主副本上,日志文件的大小会不断增加,因为另一个副本无法 "harvest" 日志。
关于监控副本的状态,您可以使用此脚本并根据结果创建警报作业:
SELECT
c.database_name,
g.name AS ag_name,
s.is_local,
s.is_primary_replica,
s.synchronization_state_desc,
s.is_commit_participant,
s.synchronization_health_desc,
s.recovery_lsn,
s.truncation_lsn,
s.last_sent_lsn,
s.last_sent_time,
s.last_received_lsn,
s.last_received_time,
s.last_hardened_lsn,
s.last_hardened_time,
s.last_redone_lsn,
s.last_redone_time,
s.log_send_queue_size,
s.log_send_rate,
s.redo_queue_size,
s.redo_rate,
s.filestream_send_rate,
s.end_of_log_lsn,
s.last_commit_lsn,
s.last_commit_time,
r.replica_server_name
FROM sys.dm_hadr_database_replica_states AS s
INNER JOIN sys.availability_databases_cluster AS c
ON s.group_id = c.group_id AND
s.group_database_id = c.group_database_id
INNER JOIN sys.availability_groups AS g
ON g.group_id = s.group_id
INNER JOIN sys.availability_replicas AS r
ON s.group_id = r.group_id AND
s.replica_id = r.replica_id
ORDER BY
g.name,
r.replica_server_name,
c.database_name;
我在 alwayson 中的一个副本宕机了几分钟。 我的问题是,辅助副本可以关闭多长时间? 我可以从 dmv table 或其他地方得到它吗? 10X
第二个副本可以永远完成,没有问题。但是,在您的主副本上,日志文件的大小会不断增加,因为另一个副本无法 "harvest" 日志。
关于监控副本的状态,您可以使用此脚本并根据结果创建警报作业:
SELECT
c.database_name,
g.name AS ag_name,
s.is_local,
s.is_primary_replica,
s.synchronization_state_desc,
s.is_commit_participant,
s.synchronization_health_desc,
s.recovery_lsn,
s.truncation_lsn,
s.last_sent_lsn,
s.last_sent_time,
s.last_received_lsn,
s.last_received_time,
s.last_hardened_lsn,
s.last_hardened_time,
s.last_redone_lsn,
s.last_redone_time,
s.log_send_queue_size,
s.log_send_rate,
s.redo_queue_size,
s.redo_rate,
s.filestream_send_rate,
s.end_of_log_lsn,
s.last_commit_lsn,
s.last_commit_time,
r.replica_server_name
FROM sys.dm_hadr_database_replica_states AS s
INNER JOIN sys.availability_databases_cluster AS c
ON s.group_id = c.group_id AND
s.group_database_id = c.group_database_id
INNER JOIN sys.availability_groups AS g
ON g.group_id = s.group_id
INNER JOIN sys.availability_replicas AS r
ON s.group_id = r.group_id AND
s.replica_id = r.replica_id
ORDER BY
g.name,
r.replica_server_name,
c.database_name;