Ausführen eines geplanten manuellen Failovers einer Verfügbarkeitsgruppe (SQL Server)

 

In diesem Thema wird beschrieben, wie ein manuelles Failover ohne Datenverlust (ein geplantes manuelles Failover) in einer Always On-Verfügbarkeitsgruppe mit SQL Server Management Studio, Transact-SQL oder PowerShell in SQL Server 2016 ausgeführt wird. Eine Verfügbarkeitsgruppe führt auf der Ebene eines Verfügbarkeitsreplikats ein Failover aus. Bei einem geplanten manuellen Failover geht wie bei jedem AlwaysOn-Verfügbarkeitsgruppen-Failover ein sekundäres Replikat zur primären Rolle und gleichzeitig das frühere primäre Replikat zur sekundären Rolle über.

Ein geplantes manuelles Failover, das nur unterstützt wird, wenn das primäre Replikat und das sekundäre Zielreplikat im Modus für synchrone Commits ausgeführt und gerade synchronisiert werden, behält alle Daten in den sekundären Datenbanken bei, die mit der Verfügbarkeitsgruppe im sekundären Zielreplikat verknüpft sind. Sobald das frühere primäre Replikat zur sekundären Rolle übergeht, werden seine Datenbanken sekundäre Datenbanken und starten die Synchronisierung mit den neuen primären Datenbanken. Nach dem Übergang in den Status SYNCHRONIZED kann das neue sekundäre Replikat als Ziel eines künftigen geplanten manuellen Failovers dienen.

System_CAPS_ICON_note.jpg Hinweis


Wenn das sekundäre und primäre Replikat für den automatischen Failovermodus konfiguriert sind, kann das sekundäre Replikat nach der Synchronisierung auch als Ziel für ein automatisches Failover dienen. Weitere Informationen finden Sie unter Verfügbarkeitsmodi (Always On-Verfügbarkeitsgruppen).

Einschränkungen

  • Ein Failoverbefehl gibt einen Wert zurück, sobald das sekundäre Zielreplikat den Befehl akzeptiert hat. Die Datenbankwiederherstellung tritt jedoch asynchron auf, nachdem die Verfügbarkeitsgruppe aufgehört hat, ein Failover auszuführen.

  • Datenbankübergreifende Konsistenz zwischen Datenbanken innerhalb der Verfügbarkeitsgruppe wird beim Failover möglicherweise nicht beibehalten.

    System_CAPS_ICON_note.jpg Hinweis


    Die Unterstützung für datenbankübergreifende und verteilte Transaktionen unterscheidet sich je nach verwendeter SQL Server- und Betriebssystemversion. Weitere Informationen finden Sie unter Datenbankübergreifende Transaktionen und verteilte Transaktionen für Always On-Verfügbarkeitsgruppen oder Datenbankspiegelung (SQL Server).

Voraussetzungen und Einschränkungen

  • Das sekundäre Zielreplikat und das primäre Replikat müssen im Verfügbarkeitsmodus für synchrone Commits ausgeführt werden.

  • Das sekundäre Zielreplikat muss gerade mit dem primären Replikat synchronisiert werden. Dies erfordert, dass alle sekundären Datenbanken auf diesem sekundären Replikat mit der Verfügbarkeitsgruppe verknüpft und mit ihren entsprechenden primären Datenbanken synchronisiert sein müssen (das heißt, die lokalen sekundären Datenbanken müssen den Status SYNCHRONIZED aufweisen).

    System_CAPS_ICON_tip.jpg Tipp


    Um die Failoverbereitschaft eines sekundären Replikats zu ermitteln, fragen Sie die is_failover_ready-Spalte in der dynamischen Verwaltungssicht sys.dm_hadr_database_cluster_states ab, oder überprüfen Sie die Spalte Failoverbereitschaft des Always On-Gruppendashboards.

  • Dieser Task wird nur für das sekundäre Zielreplikat unterstützt. Sie müssen mit der Serverinstanz verbunden sein, auf der das sekundäre Zielreplikat gehostet wird.

Sicherheit

Berechtigungen

Erfordert die ALTER AVAILABILITY GROUP-Berechtigung für die Verfügbarkeitsgruppe, die CONTROL AVAILABILITY GROUP-Berechtigung, die ALTER ANY AVAILABILITY GROUP-Berechtigung oder die CONTROL SERVER-Berechtigung.

So führen Sie manuell ein Failover für eine Verfügbarkeitsgruppe aus

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Serverinstanz her, die ein sekundäres Replikat der Verfügbarkeitsgruppe hostet, für die ein Failover ausgeführt werden muss, und erweitern Sie die Serverstruktur.

  2. Erweitern Sie die Knoten Always On High Availability (Always On Hochverfügbarkeit) und Verfügbarkeitsgruppen.

  3. Klicken Sie mit der rechten Maustaste auf die Verfügbarkeitsgruppe, für die ein Failover ausgeführt werden soll, und wählen Sie den Befehl Failover aus.

  4. Dadurch wird der Assistent für das Failover von Verfügbarkeitsgruppen gestartet. Weitere Informationen finden Sie unter Verwenden des Assistenten für Failover-Verfügbarkeitsgruppen (SQL Server Management Studio).

So führen Sie manuell ein Failover für eine Verfügbarkeitsgruppe aus

  1. Stellen Sie eine Verbindung mit der Serverinstanz her, die das sekundäre Zielreplikat hostet.

  2. Verwenden Sie die ALTER AVAILABILITY GROUP -Anweisung wie folgt:

    ALTER AVAILABILITY GROUP Gruppenname FAILOVER

    Dabei ist Gruppenname der Name der Verfügbarkeitsgruppe.

    Im folgenden Beispiel wird manuell ein Failover der MyAg -Verfügbarkeitsgruppe zum verbundenen sekundären Replikat ausgeführt.

    ALTER AVAILABILITY GROUP MyAg FAILOVER;  
    
    

So führen Sie manuell ein Failover für eine Verfügbarkeitsgruppe aus

  1. Wechseln Sie mit (cd) in das Verzeichnis der Serverinstanz, die das sekundäre Zielreplikat hostet.

  2. Verwenden Sie das Cmdlet Switch-SqlAvailabilityGroup.

    System_CAPS_ICON_note.jpg Hinweis


    Verwenden Sie das Cmdlet Get-Help in der SQL Server 2016-PowerShell-Umgebung, um die Syntax eines Cmdlets anzuzeigen. Weitere Informationen finden Sie unter Get Help SQL Server PowerShell.

    Im folgenden Beispiel wird manuell ein Failover der MyAg -Verfügbarkeitsgruppe zum sekundären Replikat mit dem angegebenen Pfad ausgeführt.

    Switch-SqlAvailabilityGroup -Path SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MyAg  
    
    

Einrichten und Verwenden des SQL Server PowerShell-Anbieters

Wenn Sie ein Failover außerhalb des Satz automatischer Failover der Verfügbarkeitsgruppe ausgeführt haben, passen Sie die Quorumabstimmungen der WSFC-Knoten an die Konfiguration der neuen Verfügbarkeitsgruppe an. Weitere Informationen finden Sie unter Windows Server-Failoverclustering (WSFC) mit SQL Server.

Übersicht über Always On-Verfügbarkeitsgruppen (SQL Server)
Failover und Failovermodi (Always On-Verfügbarkeitsgruppen)
Ausführen eines erzwungenen manuellen Failovers einer Verfügbarkeitsgruppe (SQL Server)

Community-Beiträge

HINZUFÜGEN
Anzeigen: