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 (ein 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. Ein geplantes manuelles Failover, z. B. jedes AlwaysOn-Verfügbarkeitsgruppen-Failover, überschreibt ein sekundäres Replikat in die primäre Rolle und überschreibt gleichzeitig das ehemalige primäre Replikat zur sekundären Rolle.

Ein geplantes manuelles Failover, das nur unterstützt wird, wenn das primäre Replikat und das sekundäre Zielreplikat im synchronen Commit-Modus ausgeführt werden und derzeit 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 wechselt, werden die Datenbanken zu sekundären Datenbanken und beginnen mit der 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 die sekundären und primären Replikate 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).

Bevor Sie beginnen

Einschränkungen und Beschränkungen

Voraussetzungen und Einschränkungen

  • Das sekundäre Zielreplikat und das primäre Replikat müssen beide im synchronen Commit-Verfügbarkeitsmodus ausgeführt werden.

  • Das sekundäre Zielreplikat muss derzeit mit dem primären Replikat synchronisiert werden. Dies erfordert, dass alle sekundären Datenbanken dieses sekundären Replikats mit der Verfügbarkeitsgruppe verknüpft und mit ihren entsprechenden primären Datenbanken synchronisiert werden müssen (d. a. die lokalen sekundären Datenbanken müssen synchronisiert werden).

    Tipp

    Um die Failoverbereitschaft eines sekundären Replikats zu ermitteln, fragen Sie in der sys.dm_hadr_database_cluster_states dynamischen Verwaltungsansicht die is_failover_ready Spalte ab, oder schauen Sie sich die Spalte "Failoverbereitschaft" des AlwaysOn-Gruppendashboards an.

  • 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

Erlaubnisse

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, über das ein Failover durchgefü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.

    Das folgende Beispiel führt manuell ein Failover der MyAg-Verfügbarkeitsgruppe auf das verbundene sekundäre Replikat durch.

    ALTER AVAILABILITY GROUP MyAg FAILOVER;  
    

Mithilfe von 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 hosten soll.

  2. Verwenden Sie das Cmdlet Switch-SqlAvailabilityGroup.

    Hinweis

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

    Im folgenden Beispiel wird die MyAg-Verfügbarkeitsgruppe manuell mit dem angegebenen Pfad auf das sekundäre Replikat übertragen.

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

Einrichten und Verwenden des SQL Server PowerShell-Anbieters

Nachbereitung: Nach einem manuellen Failover in einer Verfügbarkeitsgruppe

Wenn außerhalb des automatischen Failover-Sets der Verfügbarkeitsgruppe ein Fehler aufgetreten ist, passen Sie die Quorumstimmen der WSFC-Knoten an, um die neue Konfiguration der Verfügbarkeitsgruppe widerzuspiegeln. Weitere Informationen finden Sie unter Windows Server-Failoverclustering (WSFC) mit SQL Server.

Siehe auch

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