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 AlwaysOn-Verfügbarkeitsgruppe mit SQL Server Management Studio, Transact-SQL oder PowerShell in SQL Server 2012 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.

HinweisHinweis

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

    Voraussetzungen und Einschränkungen

    Sicherheit

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

    SQL Server Management Studio

    Transact-SQL

    PowerShell

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

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.

    HinweisHinweis

    Datenbankübergreifende Transaktionen und verteilte Transaktionen werden von AlwaysOn-Verfügbarkeitsgruppen nicht unterstützt. Weitere Informationen finden Sie unter Datenbankübergreifende Transaktionen nicht unterstützt für Datenbankspiegelungs- 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).

    TippTipp

    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.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Verwenden 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).

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

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 group_name FAILOVER

    Dabei ist group_name 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;
    

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Verwenden 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 hostet.

  2. Verwenden Sie das Switch-SqlAvailabilityGroup-Cmdlet.

    HinweisHinweis

    Die Syntax eines Cmdlets kann mit dem Get-Help-Cmdlet in der SQL Server 2012 PowerShell-Umgebung angezeigt werden. Weitere Informationen finden Sie unter Aufrufen der SQL Server PowerShell-Hilfe.

    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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

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

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.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Siehe auch

Konzepte

Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server)

Failover und Failovermodi (AlwaysOn-Verfügbarkeitsgruppen)

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