Files
DBAdmin/inbox/SQL-Server/AlwaysOn/aon_check_last_recovery_time.sql
2026-05-18 06:40:19 +00:00

17 lines
769 B
SQL

SELECT ag.name AS ag_name, ar.replica_server_name AS ag_replica_server, dr_state.database_id as 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_hardened_time, dr_state.last_redone_time
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
-- Podajemy ID Bazy, którą sprawdzamy
-- where dr_state.database_id = 35