DBAtlas · Atlas de operações de banco de dados

Failover forçado (FORCE_FAILOVER_ALLOW_DATA_LOSS) e recuperação pós-failover

SQL ServerAlways On e HA

Comando

-- 1) On each candidate secondary: pick the most current one (highest end_of_log_lsn)
SELECT ag.name AS ag_name, DB_NAME(drs.database_id) AS db,
       drs.synchronization_state_desc, drs.end_of_log_lsn, drs.last_commit_time
FROM   sys.dm_hadr_database_replica_states drs
  JOIN sys.availability_groups ag ON ag.group_id = drs.group_id
WHERE  drs.is_local = 1;

-- 2) On the chosen replica (while the primary is unreachable):
ALTER AVAILABILITY GROUP [AG_Musteri] FORCE_FAILOVER_ALLOW_DATA_LOSS;

-- 3) On the other secondaries, resume the suspended data movement:
ALTER DATABASE [Musteri] SET HADR RESUME;

-- 4) When the old primary returns (now a SUSPENDED secondary):
--    take a snapshot first to inspect the lost transactions, then resume
CREATE DATABASE [Musteri_lost_snap]
  ON (NAME = N'Musteri', FILENAME = N'D:\Data\Musteri_lost_snap.ss')
  AS SNAPSHOT OF [Musteri];
ALTER DATABASE [Musteri] SET HADR RESUME;

O que faz

Torna uma réplica de DR o primário, aceitando perda de dados, quando o primário é perdido por completo; depois retoma a movimentação de dados suspensa nas outras réplicas e, quando o antigo primário volta, cria um snapshot para inspecionar as transações que nunca chegaram ao novo primário.

Quando usar

Quando o data center primário está fora, sobrou apenas uma réplica assíncrona, ou uma réplica síncrona não está SYNCHRONIZED e ainda assim é preciso fazer failover.

Atenção

PERDA DE DADOS: as transações após o último LSN hardened são perdidas. Obtenha antes o aval do negócio sobre o RPO. Após um failover forçado, todos os bancos secundários ficam SUSPENDED; o log não é truncado e cresce até o HADR RESUME. Se o quorum do WSFC for perdido, inicie antes o cluster com quorum forçado (PowerShell: Start-ClusterNode -FixQuorum), senão o comando falha. HADR RESUME no antigo primário descarta permanentemente as transações perdidas; não retome sem criar o snapshot.

Abrir no DBAtlas →

Relacionados