Tutorial: Konfigurieren der aktiven Georeplikation und des Failovers (Azure SQL-Datenbank)

GILT FÜR: Azure SQL-Datenbank

In diesem Artikel wird veranschaulicht, wie Sie die aktive Georeplikation für Azure SQL-Datenbank über das Azure-Portal oder mithilfe der Azure CLI konfigurieren und ein Failover initiieren.

Bewährte Methoden für die Verwendung von Autofailover-Gruppen finden Sie unter Bewährte Methoden für Azure SQL-Datenbank und Bewährte Methoden für verwaltete Azure SQL-Instanz.

Voraussetzungen

Wenn Sie die aktive Georeplikation über das Azure-Portal konfigurieren möchten, benötigen Sie folgende Ressource:

  • Eine Datenbank in Azure SQL-Datenbank: Die primäre Datenbank, die in eine andere geografische Region repliziert werden soll.

Hinweis

Wenn Sie das Azure-Portal verwenden, können Sie nur eine sekundäre Datenbank im selben Abonnement wie die primäre Datenbank erstellen. Wenn eine sekundäre Datenbank in einem anderen Abonnement vorhanden sein muss, verwenden Sie die REST-API zum Erstellen der Datenbank oder die ALTER DATABASE-Transact-SQL-API.

Hinzufügen einer sekundären Datenbank

Mit den folgenden Schritten wird eine neue sekundäre Datenbank in einer Partnerschaft für die Georeplikation erstellt.

Zum Hinzufügen einer sekundären Datenbank müssen Sie der Besitzer oder Mitbesitzer des Abonnements sein.

Die sekundäre Datenbank hat den gleichen Namen wie die primäre Datenbank und standardmäßig auch die gleiche Dienstebene und Computegröße. Die sekundäre Datenbank kann eine Einzel- oder Pooldatenbank sein. Weitere Informationen finden Sie unter DTU-basiertes Kaufmodell und vCore-basiertes Kaufmodell. Nachdem die sekundäre Datenbank erstellt und das Seeding ausgeführt wurde, beginnt die Replikation der Daten von der primären Datenbank in die neue sekundäre Datenbank.

Hinweis

Wenn die Partnerdatenbank bereits vorhanden ist (z. B. aufgrund der Beendigung einer vorherigen Georeplikationsbeziehung), tritt für den Befehl ein Fehler auf.

  1. Navigieren Sie im Azure-Portal zu der Datenbank, die Sie für die Georeplikation einrichten möchten.

  2. Wählen Sie auf der Seite SQL-Datenbank Ihre Datenbank aus, scrollen Sie zu Datenverwaltung, wählen Sie Replikate und dann Replikat erstellen aus.

    Konfigurieren der Georeplikation

  3. Wählen oder erstellen Sie den Server für die sekundäre Datenbank und konfigurieren Sie bei Bedarf die Compute und Speicher-Optionen. Sie können eine beliebige Region für Ihren sekundären Server auswählen, wir empfehlen jedoch das Regionspaar.

    {alt-text}

    Optional können Sie einem Pool für elastische Datenbanken eine sekundäre Datenbank hinzufügen. Um die sekundäre Datenbank in einem Pool zu erstellen, wählen Sie Ja neben der Option Möchten Sie einen Pool für elastische SQL-Datenbanken verwenden? und dann einen Pool auf dem Zielserver aus. Ein Pool muss bereits auf dem Zielserver vorhanden sein. Dieser Workflow erstellt keinen Pool.

  4. Klicken Sie auf Überprüfen und erstellen, überprüfen Sie die Informationen, und klicken Sie dann auf Erstellen.

  5. Die sekundäre Datenbank wird erstellt und der Bereitstellungsprozess beginnt.

    Screenshot: Bereitstellungsstatus der sekundären Datenbank

  6. Nach Abschluss der Bereitstellung wird der Status für die sekundäre Datenbank angezeigt.

    Screenshot: Status der sekundären Datenbank nach der Bereitstellung

  7. Kehren Sie zur Seite der primären Datenbank zurück, und wählen Sie Replikate aus. Ihre sekundäre Datenbank ist unter Georeplikate aufgeführt.

    Screenshot: Primäre Replikate und Georeplikate der SQL-Datenbank

Initiieren eines Failovers

Für die sekundäre Datenbank kann ein Wechsel durchgeführt werden, bei dem sie zur primären Datenbank wird.

  1. Navigieren Sie im Azure-Portal zur primären Datenbank in der Georeplikationspartnerschaft.

  2. Scrollen Sie zu Datenverwaltung, und wählen Sie dann Replikate aus.

  3. Wählen Sie in der Liste Georeplikate die Datenbank aus, die die neue primäre Datenbank werden soll. Wählen Sie dann die Auslassungspunkte und anschließend Erzwungenes Failover aus.

    Screenshot: Auswählen des erzwungenen Failovers in der Dropdownliste

  4. Wählen Sie Ja aus, um das Failover zu beginnen.

Durch den Befehl wird die sekundäre Datenbank sofort in die primäre Rolle geändert. Dieser Vorgang sollte normalerweise innerhalb von 30 Sekunden oder weniger abgeschlossen sein.

Es gibt einen kurzer Zeitraum, in dem beide Datenbanken während des Rollenwechsels (ca. 0 bis 25 Sekunden) nicht verfügbar sind. Wenn die primäre Datenbank über mehrere sekundäre Datenbanken verfügt, werden die anderen sekundären Datenbanken durch den Befehl automatisch neu konfiguriert, sodass sie eine Verbindung mit der neuen primären Datenbank herstellen. Unter normalen Umständen dauert der gesamte Vorgang nicht länger als 1 Minute.

Hinweis

Dieser Befehl ist für die schnelle Wiederherstellung der Datenbank bei einem Ausfall bestimmt. Er löst ein Failover ohne Datensynchronisierung oder ein erzwungenes Failover aus. Wenn die primäre Datenbank bei Ausgabe des Befehls online ist und gerade Commits für Transaktionen ausführt, können einige Daten verloren gehen.

Entfernen einer sekundären Datenbank

Dieser Vorgang beendet die Replikation zur sekundären Datenbank dauerhaft und ändert die Rolle der sekundären Datenbank in eine normale Datenbank mit Lese-/Schreibzugriff. Wenn die Verbindung mit der sekundären Datenbank unterbrochen wird, ist der Befehl zwar erfolgreich, aber die sekundäre Datenbank wird erst mit Lese-/ Schreibzugriff versehen, nachdem die Verbindung wiederhergestellt wurde.

  1. Navigieren Sie im Azure-Portal zur primären Datenbank in der Georeplikationspartnerschaft.

  2. Wählen Sie Replikate aus.

  3. Wählen Sie in der Liste Georeplikate die Datenbank aus, die Sie aus der Georeplikationspartnerschaft entfernen möchten, klicken Sie auf die Auslassungspunkte und dann auf Replikation beenden.

    Screenshot: Auswählen von „Replikation beenden“ in der Dropdownliste

  4. Ein Bestätigungsfenster wird geöffnet. Klicken Sie zum Entfernen der Datenbank aus der Georeplikationspartnerschaft auf Ja. (Setzen Sie sie auf eine Datenbank mit Lese-/ Schreibzugriff fest, die kein Teil der Replikation ist.)

Nächste Schritte