DBAtlas · Atlas de operaciones de bases de datos

Failover de Availability Group

SQL ServerConfiguración

Comando

-- 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;

Qué hace

Mueve el rol primario del Availability Group a otra réplica; un failover planificado a una réplica síncrona se realiza sin pérdida de datos.

Cuándo usarlo

Transferencia de rol para mantenimiento/parches, failover cuando falla el nodo primario.

Precaución

El comando FAILOVER normal se ejecuta en la réplica SECUNDARIA que tomará el relevo. FORCE_FAILOVER_ALLOW_DATA_LOSS solo se usa cuando el primario es inalcanzable o en una réplica asíncrona y puede PROVOCAR PÉRDIDA DE DATOS; tenga mucho cuidado si la sincronización no está sana.

Abrir en DBAtlas →

Relacionado