Отработка отказа Availability Group
SQL ServerКонфигурацияКоманда
-- Run on the TARGET (secondary) REPLICA - planned, no data loss (synchronous):
ALTER AVAILABILITY GROUP [AG_Customer] FAILOVER;
-- Forced (asynchronous replica / primary unreachable, DATA LOSS risk):
-- ALTER AVAILABILITY GROUP [AG_Customer] FORCE_FAILOVER_ALLOW_DATA_LOSS;
-- Check status:
SELECT ag.name, ar.replica_server_name,
rs.role_desc, rs.synchronization_health_desc, ar.availability_mode_desc
FROM sys.availability_groups ag
JOIN sys.availability_replicas ar ON ar.group_id = ag.group_id
JOIN sys.dm_hadr_availability_replica_states rs ON rs.replica_id = ar.replica_id;Что делает
Переносит роль первичной реплики Availability Group на другую реплику; плановая отработка отказа на синхронную реплику проходит без потери данных.
Когда использовать
Передача роли для обслуживания/установки патчей, отработка отказа при сбое первичного узла.
Внимание
Обычная команда FAILOVER выполняется на ВТОРИЧНОЙ реплике, которая примет роль. FORCE_FAILOVER_ALLOW_DATA_LOSS используется только при недоступности первичной реплики или на асинхронной реплике и может ПРИВЕСТИ К ПОТЕРЕ ДАННЫХ; будьте очень осторожны, если синхронизация не в норме.