AlwaysOn: Manuell einen neuen Replikat-Knoten mit benutzerdefiniertem Backup-Pfad hinzufügen

von

in

Das Hinzufügen eines neuen Replikat-Knotens zu einer bestehenden SQL Server AlwaysOn Availability Group ist normalerweise ein straightforwärtiger Prozess. Wenn jedoch benutzerdefinierte Backup-Pfade oder spezielle Anmeldedaten ins Spiel kommen, sind zusätzliche Schritte nötig.

Voraussetzungen

  • SQL Server 2012 oder höher auf allen Knoten
  • Windows Server Failover Clustering (WSFC) konfiguriert
  • Datenbankspiegelung-Endpoint auf dem neuen Knoten aktiv
  • Gleiche SQL Server-Version und -Edition auf allen Knoten

Schritt 1: Backup auf dem primären Knoten erstellen

-- Full Backup mit benutzerdefiniertem Pfad
BACKUP DATABASE [MyDatabase]
TO DISK = 'BackupServerCustomPathMyDatabase_Full.bak'
WITH FORMAT, INIT, NAME = 'Full Backup for AlwaysOn',
STATS = 10;

-- Log Backup
BACKUP LOG [MyDatabase]
TO DISK = 'BackupServerCustomPathMyDatabase_Log.bak'
WITH FORMAT, INIT, STATS = 10;

Schritt 2: Backup auf dem neuen Knoten wiederherstellen

-- Auf dem neuen Sekundär-Knoten (NORECOVERY!)
RESTORE DATABASE [MyDatabase]
FROM DISK = 'BackupServerCustomPathMyDatabase_Full.bak'
WITH NORECOVERY, STATS = 10;

RESTORE LOG [MyDatabase]
FROM DISK = 'BackupServerCustomPathMyDatabase_Log.bak'
WITH NORECOVERY, STATS = 10;

Schritt 3: Replikat zur Verfügbarkeitsgruppe hinzufügen

-- Auf dem primären Knoten
ALTER AVAILABILITY GROUP [MyAG]
ADD REPLICA ON 'NewServer'
WITH (
    ENDPOINT_URL = 'TCP://NewServer:5022',
    FAILOVER_MODE = AUTOMATIC,
    AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
    BACKUP_PRIORITY = 50
);

-- Auf dem neuen Knoten: der AG beitreten
ALTER AVAILABILITY GROUP [MyAG] JOIN;
ALTER DATABASE [MyDatabase] SET HADR AVAILABILITY GROUP = [MyAG];

Mit diesem Verfahren lässt sich jede Datenbank einer bestehenden AlwaysOn AG hinzufügen, auch wenn benutzerdefinierte Pfade oder eingeschränkte Netzwerkzugänge vorliegen. Die NORECOVERY-Option ist der kritische Schritt – ohne ihn ist kein AG-Join möglich.