Failover von Datenbanken über mehrere Konten

Unter diesem Thema werden die Schritte beschrieben, die für ein Failover Ihrer replizierten Datenbanken über mehrere Konten in verschiedenen Regionen für die Notfallwiederherstellung erforderlich sind.

Bemerkung

Das Failover für eine Datenbank kann nur von Kontoadministratoren (Benutzer mit der Rolle ACCOUNTADMIN) aktiviert und verwaltet werden.

Unter diesem Thema:

Weboberfläche für Datenbankreplikation und Failover/Failback

Kontoadministratoren (Benutzer mit der Rolle ACCOUNTADMIN) können Replikations- und Failover/Failback-Aktionen entweder über die neue oder die klassischen Weboberfläche verwalten.

Neue Weboberfläche

Eine Anleitung zum Heraufstufen einer lokalen Datenbank zur primären Datenbank finden Sie unter Heraufstufen einer lokalen Datenbank.

Klassische Weboberfläche

Die meisten Aktionen zum Konfigurieren und Verwalten der Datenbankreplikation können Sie auf der Snowflake-Weboberfläche über den Bereich Replication der Registerkarte Databases Databases tab ausführen, einschließlich der folgenden Aktionen:

  • Heraufstufen einer lokalen Datenbank zur primären Datenbank

  • Aktivieren des Failover für eine primäre Datenbank (Business Critical Edition-Konten oder höher)

  • Aktualisieren einer sekundären Datenbank entweder einmal (manuell) oder wiederholt (nach Zeitplan unter Verwendung einer Aufgabe)

  • Heraufstufen einer sekundären Datenbanken als primäre Datenbank (Business Critical Edition-Konten oder höher)

  • Deaktivieren der Replikation und/oder des Failover einer Primärdatenbank

Kontobezeichner für SQL-Befehle zu Replikation und Failover

Die SQL-Beispielanweisungen in der folgenden Anleitung verwenden einen Kontobezeichner im Format Organisationsname.Kontoname. Es werden aber auch Kontobezeichner im Format Snowflake-Region.Konto-Locator unterstützt.

Weitere Details dazu finden Sie unter Kontobezeichner für Replikation und Failover.

Voraussetzungen

  1. Aktivieren Sie die Replikation für eine Primärdatenbank in den entsprechenden Konten.

  2. Erstellen Sie mindestens eine sekundäre Datenbank (d. h. ein Replikat) der primären Datenbank in einem oder mehreren der in Schritt 1 angegebenen Konten, und aktualisieren Sie das Replikat regelmäßig (d. h. synchronisieren Sie es mit den neuesten Aktualisierungen der primären Datenbank).

Eine Anleitung dazu finden Sie unter Replizieren von Datenbanken über mehrere Konten.

Schritt 1: Anzeigen aller für die Replikation aktivierten Konten

Fragen Sie SHOW REPLICATION ACCOUNTS ab, um die Liste der Konten in Ihrer Organisation anzuzeigen, für die die Replikation aktiviert wurde.

SHOW REPLICATION ACCOUNTS;

+------------------+---------------------------------+---------------+------------------+---------+-------------------+
| snowflake_region | created_on                      | account_name  | account_locator  | comment | organization_name |
|------------------+---------------------------------+---------------+------------------+---------+-------------------|
| AWS_US_WEST_2    | 2018-11-19 16:11:12.720 -0700   | ACCOUNT1      | MYACCOUNT1       |         | MYORG             |
| AWS_US_EAST_1    | 2019-06-02 14:12:23.192 -0700   | ACCOUNT2      | MYACCOUNT2       |         | MYORG             |
+------------------+---------------------------------+---------------+------------------+---------+-------------------+

Verwenden Sie auch die vollständige Liste der Snowflake-Regions-IDs.

Schritt 2: Aktivieren des Failovers für eine primäre Datenbank

Bemerkung

Überspringen Sie diesen Schritt, wenn Sie das Failover für diese Primärdatenbank in Replizieren von Datenbanken über mehrere Konten aktiviert haben.

Aktivieren Sie das Failover einer Primärdatenbank für ein oder mehrere Konten Ihrer Organisation mithilfe einer Anweisung ALTER DATABASE … ENABLE FAILOVER TO ACCOUNTS. Das Replikat dieser Primärdatenbank in einem der Konten (d. h. eine Sekundärdatenbank) kann heraufgestuft werden, um als Primärdatenbank zu dienen.

Beachten Sie, dass das Aktivieren des Failovers für eine Primärdatenbank entweder vor oder nach dem Erstellen des Replikats der Primärdatenbank in einem angegebenen Konto erfolgen kann.

Beispiel

Aktivieren Sie das Failover der Primärdatenbank mydb1 in die Konten myaccount2 und myaccount3. In diesem Beispiel wird angenommen, dass die Primärdatenbank im Konto myaccount1 gespeichert ist und alle drei Konten zur Organisation myorg gehören. Der Befehl ALTER DATABASE muss von myaccount1 aus ausgeführt werden.

ALTER DATABASE mydb1 ENABLE FAILOVER TO ACCOUNTS myorg.myaccount2, myorg.myaccount3;

Schritt 3: Heraufstufen einer Replikatdatenbank als Primärdatenbank

Jedes Replikat einer Primärdatenbank kann zur Primärdatenbank heraufgestuft werden, indem die Anweisung ALTER DATABASE … PRIMARY ausgeführt wird. Beim Heraufstufen wird die Datenbank beschreibbar. Gleichzeitig wird die vorherige Primärdatenbank zu einer schreibgeschützten Replikatdatenbank.

Führen Sie die Anweisung ALTER DATABASE in dem Konto aus, das die sekundäre Datenbank enthält, die Sie heraufstufen möchten.

Bemerkung

Zum Heraufstufen einer sekundären Datenbank muss die zum Ausführen der Operation verwendete Rolle über die Berechtigung OWNERSHIP für die Datenbank verfügen.

Beispiel

-- Promote a secondary database to serve as the primary database.
ALTER DATABASE mydb1 PRIMARY;

-- Verify that the former secondary database was promoted successfully.
SHOW REPLICATION DATABASES;