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 auf der Snowflake-Weboberfläche im Bereich Replication der Registerkarte Databases die meisten Aktionen zum Konfigurieren und Verwalten der Datenbankreplikation auszufü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
Voraussetzungen¶
Aktivieren Sie die Replikation für eine Primärdatenbank in den entsprechenden Konten.
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 Konten Ihrer Organisation¶
Rufen Sie die Liste der Konten Ihrer Organisation ab, um festzustellen, welche Konten für die Datenbankreplikation und das Failover verknüpft wurden.
Wie Sie die Liste der Konten in Ihrer Organisation anzeigen können, ist unter SHOW REPLICATION ACCOUNTS beschrieben.
SHOW REPLICATION ACCOUNTS;
+------------------+---------------------------------+---------------+------------+
| snowflake_region | created_on | name | comment |
|------------------+---------------------------------+---------------+------------|
| AWS_US_WEST_2 | 2018-11-19 16:11:12.720 -0700 | MYACCOUNT1 | |
| AWS_US_EAST_1 | 2019-06-02 14:12:23.192 -0700 | MYACCOUNT2 | |
+------------------+---------------------------------+---------------+------------+
In der folgenden Tabelle wird die vollständige Liste der Snowflake-Regions-IDs angezeigt:
Snowflake-Regions-IDs
Region |
Regions-ID |
Snowflake-Regions-ID |
Anmerkungen |
---|---|---|---|
Amazon Web Services (AWS) |
|||
US West (Oregon)
|
|
|
|
US East (Ohio)
|
|
|
|
US East (N. Virginia)
|
|
|
|
US East (Commercial Gov - N. Virginia)
|
|
|
Nur für Business Critical-Konten (oder höher) verfügbar. Befindet sich nicht in AWS GovCloud (US), einer separaten, dedizierten Cloud, die von Snowflake noch nicht unterstützt wird. |
Canada (Central)
|
|
|
|
Europe (London)
|
|
|
|
EU (Irland)
|
|
|
|
EU (Frankfurt)
|
|
|
|
Asia Pacific (Tokio)
|
|
|
|
Asia Pacific (Mumbai)
|
|
|
|
Asia Pacific (Singapur)
|
|
|
|
Asia Pacific (Sydney)
|
|
|
|
Google Cloud Platform (GCP) |
|||
US Central1 (Iowa)
|
|
|
|
Europe West2 (London)
|
|
|
|
Europe West4 (Niederlande)
|
|
|
|
Microsoft Azure |
|||
West US 2 (Washington)
|
|
|
|
East US 2 (Virginia)
|
|
|
|
US Gov Virginia
|
|
|
Nur für Business Critical-Konten (oder höher) verfügbar. |
Canada Central (Toronto)
|
|
|
|
West Europe (Niederlande)
|
|
|
|
Southeast Asia (Singapur)
|
|
|
|
Switzerland North (Zürich)
|
|
|
|
Australia East (New South Wales)
|
|
|
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 für die primäre Datenbank mydb1
(in Region aws_us_west_2
) auf die Konten myaccount2
und myaccount3
(in Regionen aws_us_east_1
(AWS) bzw. azure_westeurope
(Azure)). In diesem Beispiel wird angenommen, dass die Primärdatenbank im Konto myaccount1
gespeichert ist. Der Befehl ALTER DATABASE muss in diesem Konto ausgeführt werden:
ALTER DATABASE mydb1 ENABLE FAILOVER TO ACCOUNTS aws_us_east_1.myaccount2, azure_westeurope.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;