Basculement forcé (FORCE_FAILOVER_ALLOW_DATA_LOSS) et reprise après basculement
SQL ServerAlways On et HACommande
-- 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;Ce que fait la commande
Fait d'un réplica DR le primaire en acceptant une perte de données, quand le primaire est entièrement perdu ; reprend ensuite le mouvement de données suspendu sur les autres réplicas et, au retour de l'ancien primaire, prend un snapshot pour examiner les transactions qui n'ont jamais atteint le nouveau primaire.
Quand l'utiliser
Quand le data center primaire est hors service, qu'il ne reste qu'un réplica asynchrone, ou qu'un réplica synchrone n'est pas SYNCHRONIZED et qu'un basculement reste nécessaire.
Attention
PERTE DE DONNÉES : les transactions postérieures au dernier LSN durci sont perdues. Obtenez d'abord la validation du RPO par le métier. Après un basculement forcé, toutes les bases secondaires sont SUSPENDED ; le journal n'est pas tronqué et continue de grossir jusqu'à HADR RESUME. Si le quorum WSFC est perdu, démarrez d'abord le cluster avec un quorum forcé (PowerShell : Start-ClusterNode -FixQuorum), sinon la commande échoue. HADR RESUME sur l'ancien primaire supprime définitivement les transactions perdues ; ne reprenez pas sans avoir pris le snapshot.