Freigeben über


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

In diesem Thema wird beschrieben, wie Sie ein manuelles Failover ohne Datenverlust (geplantes manuelles Failover) für eine AlwaysOn-Verfügbarkeitsgruppe mithilfe von SQL Server Management Studio, Transact-SQL oder PowerShell in SQL Server 2014 ausführen. Eine Verfügbarkeitsgruppe führt auf der Ebene eines Verfügbarkeitsreplikats ein Failover aus. Bei einem geplanten manuellen Failover wie bei einem Always On Verfügbarkeitsgruppen-Failovern wird ein sekundäres Replikat in die primäre Rolle übergestellt und gleichzeitig das ehemalige primäre Replikat in die sekundäre Rolle übergehen.

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.

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 (AlwaysOn-Verfügbarkeitsgruppen).

Vorbereitungen

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 nicht beibehalten.

    Hinweis

    Datenbankübergreifende Transaktionen und verteilte Transaktionen werden von Always On Verfügbarkeitsgruppen nicht unterstützt. Weitere Informationen finden Sie unter Nicht unterstützte datenbankübergreifende Transaktionen für die Datenbankspiegelung oder AlwaysOn-Verfügbarkeitsgruppen (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).

    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 AlwaysOn-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.

Verwendung von SQL Server Management Studio

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 den Knoten Hohe Verfügbarkeit (immer aktiviert) und den Knoten 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).

Verwenden von Transact-SQL

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 ein manuelles Failover der MyAg-Verfügbarkeitsgruppe auf das verbundene sekundäre Replikat ausgeführt.

    ALTER AVAILABILITY GROUP MyAg FAILOVER;  
    

PowerShell

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

  1. Ändern Sie das Verzeichnis (cd) in die Serverinstanz, die das sekundäre Zielreplikat hostet.

  2. Verwenden Sie das Switch-SqlAvailabilityGroup-Cmdlet.

    Hinweis

    Um die Syntax eines Cmdlets anzuzeigen, verwenden Sie das Get-Help Cmdlet in der powerShell-Umgebung von SQL Server 2014. Weitere Informationen finden Sie unter Get Help SQL Server PowerShell.

    Im folgenden Beispiel wird ein manuelles Failover der MyAg-Verfügbarkeitsgruppe auf das sekundäre Replikat mit dem angegebenen Pfad ausgeführt.

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

Einrichten und Verwenden des SQL Server PowerShell-Anbieters

Nachverfolgung: Nach dem manuellen Ausführen eines Failovers für eine Verfügbarkeitsgruppe

Wenn Sie ein Failover außerhalb des automatischen Failoversatzes der Verfügbarkeitsgruppe ausgeführt haben, passen Sie die Quorumstimmen der WSFC-Knoten an Ihre neue Verfügbarkeitsgruppenkonfiguration an. Weitere Informationen finden Sie unter Windows Server Failover Clustering (WSFC) mit SQL Server.

Weitere Informationen

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