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 Databases tab 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

  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 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-west-2

aws_us_west_2

US East (Ohio)

us-east-2.aws

aws_us_east_2

US East (N. Virginia)

us-east-1

aws_us_east_1

US East (Commercial Gov - N. Virginia)

us-east-1-gov.aws

aws_us_east_1_gov

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)

ca-central-1.aws

aws_ca_central_1

EU (Irland)

eu-west-1

aws_eu_west_1

EU (Frankfurt)

eu-central-1

aws_eu_central_1

Asia Pacific (Tokio)

ap-northeast-1.aws

aws_ap_northeast_1

Asia Pacific (Mumbai)

ap-south-1.aws

aws_ap_south_1

Asia Pacific (Singapur)

ap-southeast-1

aws_ap_southeast_1

Asia Pacific (Sydney)

ap-southeast-2

aws_ap_southeast_2

Google Cloud Platform (GCP)

US Central1 (Iowa)

us-central1.gcp

gcp_us_central1

Europe West2 (London)

europe-west2.gcp

gcp_europe_west2

Europe West4 (Niederlande)

europe-west4.gcp

gcp_europe_west4

Microsoft Azure

West US 2 (Washington)

west-us-2.azure

azure_westus2

East US 2 (Virginia)

east-us-2.azure

azure_eastus2

US Gov Virginia

us-gov-virginia.azure

azure_usgovvirginia

Nur für Business Critical-Konten (oder höher) verfügbar.

Canada Central (Toronto)

canada-central.azure

azure_canadacentral

West Europe (Niederlande)

west-europe.azure

azure_westeurope

Southeast Asia (Singapur)

southeast-asia.azure

azure_southeastasia

Switzerland North (Zürich)

switzerland-north.azure

azure_switzerlandnorth

Australia East (New South Wales)

australia-east.azure

azure_australiaeast

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;