Erzwungenes Failover (FORCE_FAILOVER_ALLOW_DATA_LOSS) und Wiederherstellung danach
SQL ServerAlways On & HABefehl
-- 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;Was es tut
Macht bei vollständigem Verlust des Primary eine DR-Replica unter Inkaufnahme von Datenverlust zum Primary; setzt danach die angehaltene Datenbewegung auf den anderen Replicas fort und erstellt, wenn der alte Primary zurückkehrt, einen Snapshot, um Transaktionen zu untersuchen, die den neuen Primary nie erreicht haben.
Wann einsetzen
Wenn das primäre Rechenzentrum ausgefallen ist, nur eine asynchrone Replica übrig ist oder eine synchrone Replica nicht SYNCHRONIZED ist und trotzdem ein Failover nötig ist.
Vorsicht
DATENVERLUST: Transaktionen nach der letzten gehärteten LSN gehen verloren. Hol dir zuerst die RPO-Freigabe vom Fachbereich. Nach einem erzwungenen Failover sind alle Secondary-Datenbanken SUSPENDED; das Log wird nicht gekürzt und wächst bis HADR RESUME weiter. Ist das WSFC-Quorum verloren, starte den Cluster zuerst mit erzwungenem Quorum (PowerShell: Start-ClusterNode -FixQuorum), sonst schlägt der Befehl fehl. HADR RESUME auf dem alten Primary verwirft die verlorenen Transaktionen endgültig; nicht fortsetzen, ohne den Snapshot erstellt zu haben.