ALTER FAILOVER GROUP

Ändert die Eigenschaften einer bestehenden Failover-Gruppe.

Vom Quellkonto aus können Sie die folgenden Aktionen ausführen:

  • Umbenennen der Failover-Gruppe

  • Zurücksetzen der Liste der angegebenen Objekttypen, die für Replikation und Failover aktiviert sind

  • Festlegen oder Aktualisieren des Replikationsplans für die automatische Aktualisierung der sekundären Failover-Gruppen

  • Hinzufügen oder Entfernen von Kontoobjekten der folgenden Typen zu oder aus einer Failover-Gruppe:

    • Datenbanken

    • Freigaben

    • Sicherheitsintegrationen

    • API-Integrationen

    • Bestimmte Typen von Benachrichtigungsintegrationen (siehe Integrationsreplikation)

  • Hinzufügen oder Entfernen von Zielkonten, die für Replikation und Failover aktiviert sind

  • Verschieben von Freigaben oder Datenbanken in eine andere Failover-Gruppe

Vom Zielkonto aus können Sie die folgenden Aktionen ausführen:

  • Aktualisieren der Objekte im Zielkonto vom Quellkonto aus

  • Heraufstufen einer sekundären Failover-Gruppe zur primären (d. h. Failover der Failover-Gruppe von Objekten)

  • Anhalten einer geplanten Replikation

  • Fortsetzen einer geplanten Replikation

Siehe auch:

CREATE FAILOVER GROUP, DROP FAILOVER GROUP, SHOW FAILOVER GROUPS

Syntax

Quellkonto

ALTER FAILOVER GROUP [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
  [ OBJECT_TYPES = <object_type> [ , <object_type> , ... ] ]
  [ REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]

ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
  OBJECT_TYPES = INTEGRATIONS [ , <object_type> , ... ] ]
  ALLOWED_INTEGRATION_TYPES = <integration_type_name> [ , <integration_type_name> ... ] ]
  [ REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]

ALTER FAILOVER GROUP [ IF EXISTS ] <name>
  ADD <db_name> [ , <db_name> ,  ... ] TO ALLOWED_DATABASES

ALTER FAILOVER GROUP [ IF EXISTS ] <name>
  MOVE DATABASES <db_name> [ , <db_name> ,  ... ] TO FAILOVER GROUP <move_to_fg_name>

ALTER FAILOVER GROUP [ IF EXISTS ] <name>
  REMOVE <db_name> [ , <db_name> ,  ... ] FROM ALLOWED_DATABASES

ALTER FAILOVER GROUP [ IF EXISTS ] <name>
  ADD <share_name> [ , <share_name> ,  ... ] TO ALLOWED_SHARES

ALTER FAILOVER GROUP [ IF EXISTS ] <name>
  MOVE SHARES <share_name> [ , <share_name> ,  ... ] TO FAILOVER GROUP <move_to_fg_name>

ALTER FAILOVER GROUP [ IF EXISTS ] <name>
  REMOVE <share_name> [ , <share_name> ,  ... ] FROM ALLOWED_SHARES

ALTER FAILOVER GROUP [ IF EXISTS ] <name>
  ADD <org_name>.<target_account_name> [ , <org_name>.<target_account_name> ,  ... ] TO ALLOWED_ACCOUNTS
  [ IGNORE EDITION CHECK ]

ALTER FAILOVER GROUP [ IF EXISTS ] <name>
  REMOVE <org_name>.<target_account_name> [ , <org_name>.<target_account_name> ,  ... ] FROM ALLOWED_ACCOUNTS
Copy

Zielkonto

ALTER FAILOVER GROUP [ IF EXISTS ] <name> REFRESH

ALTER FAILOVER GROUP [ IF EXISTS ] <name> PRIMARY

ALTER FAILOVER GROUP [ IF EXISTS ] <name> SUSPEND

ALTER FAILOVER GROUP [ IF EXISTS ] <name> RESUME
Copy

Parameter

Quellkonto

name

Gibt den Bezeichner der Failover-Gruppe an.

RENAME TO new_name

new_name

Gibt den neuen Bezeichner der Failover-Gruppe an. Der neue Bezeichner kann nicht verwendet werden, wenn der Bezeichner bereits für ein andere Replikations- oder Failover-Gruppe verwendet wird.

Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.

SET ...

Gibt eine (oder mehrere) Eigenschaften an, die für die Failover-Gruppe festgelegt werden sollen (getrennt durch Leerzeichen, Kommas oder Neue-Zeile-Zeichen): Weitere Informationen zu den Eigenschaften, die Sie festlegen können, finden Sie unter CREATE FAILOVER GROUP.

ADD db_name [ , db_name ,  ... ] TO ALLOWED_DATABASES

Gibt eine durch Kommas getrennte Liste zusätzlicher Datenbanken an, die für Replikation und Failover aktiviert werden sollen. Um Datenbanken hinzuzufügen, muss DATABASES in der Liste der angegebenen Objekttypen enthalten sein. Wenn DATABASES noch nicht in der Liste der Objekttypen enthalten ist, müssen Sie diesen Typ hinzufügen.

db_name

Gibt den Bezeichner der Datenbank an.

MOVE DATABASES db_name [ , db_name ,  ... ] TO FAILOVER GROUP move_to_fg_name

Gibt eine durch Kommas getrennte Liste von Datenbanken an, die von einer Failover-Gruppe in eine andere Failover-Gruppe verschoben werden sollen. Bei der Failover-Gruppe, in die die Datenbanken verschoben werden, muss DATABASES in der Liste der angegebenen Objekttypen enthalten sein.

db_name

Gibt den Bezeichner der Datenbank an.

move_to_fg_name

Gibt den Bezeichner für die Failover-Gruppe an, in die die Datenbanken verschoben werden sollen.

REMOVE db_name [ , db_name ,  ... ] FROM ALLOWED_DATABASES

Gibt eine durch Kommas getrennte Liste von Datenbanken an, die aus der Liste der für Replikation und Failover aktivierten Datenbanken entfernt werden sollen.

ADD share_name [ , share_name ,  ... ] TO ALLOWED_SHARES

Gibt eine durch Kommas getrennte Liste zusätzlicher Freigaben an, die für Replikation und Failover aktiviert werden sollen. Um Freigaben hinzuzufügen, muss SHARES in der Liste der angegebenen Objekttypen enthalten sein. Wenn SHARES noch nicht in der Liste der Objekttypen enthalten ist, müssen Sie diesen Typ hinzufügen.

share_name

Gibt den Bezeichner der Freigabe an.

MOVE SHARES share_name [ , share_name ,  ... ] TO FAILOVER GROUP move_to_fg_name

Gibt eine durch Kommas getrennte Liste von Freigaben an, die von einer Failover-Gruppe in eine andere Failover-Gruppe verschoben werden sollen. Bei der Failover-Gruppe, in die die Freigaben verschoben werden, muss SHARES in der Liste der angegebenen Objekttypen enthalten sein.

share_name

Gibt den Bezeichner der Freigabe an.

move_to_fg_name

Gibt den Bezeichner für die Failover-Gruppe an, in die die Freigaben verschoben werden sollen.

REMOVE share_name [ , share_name ,  ... ] FROM ALLOWED_SHARES

Gibt eine durch Kommas getrennte Liste von Freigaben an, die aus der Liste der für Replikation und Failover aktivierten Freigaben entfernt werden sollen.

ADD org_name.target_account_name [ , org_name.target_account_name ,  ... ] TO ALLOWED_ACCOUNTS

Gibt eine durch Kommas getrennte Liste von Zielkonten an, die der primären Failover-Gruppe hinzugefügt werden sollen, um Replikation und Failover der angegebenen Objekte vom Quellkonto in das Zielkonto zu aktivieren. Sekundäre Failover-Gruppen in den Zielkonten dieser Liste können im Falle eines Failovers zur primären Failover-Gruppe heraufgestuft werden.

org_name

Name Ihrer Snowflake-Organisation.

target_account_name

Zielkonto, für das Sie die Replikation der angegebenen Objekte aktivieren.

REMOVE org_name.target_account_name [ , org_name.target_account_name ,  ... ] FROM ALLOWED_ACCOUNTS

Gibt eine durch Kommas getrennte Liste von Zielkonten an, die aus der primären Failover-Gruppe entfernt werden sollen, um die Replikation der angegebenen Objekte vom Quellkonto in das Zielkonto zu deaktivieren. Durch das Entfernen eines Zielkontos wird das Failover vom aktuellen Konto in dieses Zielkonto deaktiviert.

org_name

Name Ihrer Snowflake-Organisation.

target_account_name

Zielkonto, für das Sie die Replikation der angegebenen Objekte deaktivieren.

IGNORE EDITION CHECK

Ermöglicht das Replizieren von Objekten auf Konten in folgendem Szenario:

Die primäre Failover-Gruppe befindet sich in einem Business Critical-Konto (oder höher), und es besteht eine unterzeichnete Geschäftspartner-Vereinbarung zur Speicherung von PHI-Daten in dem Konto gemäß HIPAA- und HITRUST-Vorschriften. Allerdings besteht für eines oder mehrere der zur Replikation genehmigten Konten keine solche Vereinbarung, unabhängig davon, ob es sich um Business Critical-Konten (oder höhere) handelt.

Ein solches Szenario ist standardmäßig nicht zulässig.

Zielkonto

secondary_name

Gibt den Bezeichner der Failover-Gruppe an.

REFRESH

Aktualisiert die Objekte im (aktuellen) Zielkonto aus dem Quellkonto.

PRIMARY

Eine sekundäre Failover-Gruppe und die darin enthaltenen Objekte im (aktuellen) Zielkonto wird zur primären Gruppe heraufgestuft (im Falle eines Failovers).

SUSPEND

Anhalten der geplanten Aktualisierung der sekundären Failover-Gruppe (wenn die primäre Failover-Gruppe Aktualisierungen mit der Eigenschaft REPLICATION_SCHEDULE geplant hat).

RESUME

Fortsetzen der geplanten Aktualisierung der sekundären Failover-Gruppe (wenn die primäre Failover-Gruppe Aktualisierungen mit der Eigenschaft REPLICATION_SCHEDULE geplant hat).

Nutzungshinweise

  • Folgende Berechtigungen sind mindestens erforderlich:

    • Zum Aktualisieren einer sekundären Failover-Gruppe mit ALTER FAILOVER GROUP … REFRESH muss eine Rolle entweder die OWNERSHIP- oder die REPLICATE-Berechtigung für die Failover-Gruppe haben.

    • Zum Ausführen eines Failover einer sekundären Failover-Gruppe mit ALTER FAILOVER GROUP … PRIMARY muss eine Rolle entweder die OWNERSHIP- oder die FAILOVER-Berechtigung für die Failover-Gruppe haben.

    • Um weitere Änderungen an der Failover-Gruppe vorzunehmen, kann nur eine Rolle mit OWNERSHIP-Berechtigung für die Gruppe diesen SQL-Befehl ausführen.

    • Um eine Datenbank zu einer Failover-Gruppe hinzuzufügen, muss die aktive Rolle über die MONITOR-Berechtigung für die Datenbank verfügen.

    • Um eine Freigabe zu einer Failover-Gruppe hinzuzufügen, muss die aktive Rolle über die OWNERSHIP-Berechtigung für die Freigabe verfügen.

  • Bezeichner für Failover-Gruppen und Replikationsgruppen in einem Konto müssen eindeutig sein.

  • Anders als Datenbanken oder Freigaben müssen sich Objekte in der gleichen Failover-Gruppe befinden.

  • Eine Datenbank kann nur zu einer einzigen Failover-Gruppe hinzugefügt werden.

  • Das Heraufstufen einer sekundären Failover-Gruppe zur primären Gruppe (im Falle eines Failovers) schlägt fehl, wenn sich eine Aktualisierung in Ausführung befindet.

  • Wenn sich eine Aktualisierung in Ausführung befindet, während der Replikationsplan aktualisiert wird, wird die Aktualisierung bis zum Abschluss fortgesetzt, und bei der nächsten Aktualisierung wird der neue Plan verwendet.

  • Beim Failover werden die geplanten Aktualisierungen auf allen sekundären Failover-Gruppen angehalten. ALTER FAILOVER GROUP ... RESUME muss auf jeder sekundären Gruppe ausgeführt werden, damit die automatischen Aktualisierungen fortgesetzt wird.

  • So verschieben Sie Datenbanken oder Freigaben von einer Failover-Gruppe (der „Verschieben von“-Gruppe) in eine andere Failover-Gruppe (die „Verschieben nach“-Gruppe):

    • Beide Gruppen müssen vom gleichen Typ sein: FAILOVER GROUP.

    • Wenn die letzte Datenbank der „Verschieben von“-Gruppe in eine andere Gruppe verschoben wurde, wird die Eigenschaft allowed_databases für die „Verschieben von“-Gruppe auf NULL gesetzt. Das gleiche Verhalten gilt für Freigaben.

    • Wenn in der object_types-Liste der „Verschieben nach“-Gruppe nicht der Objekttyp enthalten ist, der verschoben werden soll (databases oder shares), muss dieser Typ vor dem Verschieben von Objekten explizit zur „Verschieben nach“-Gruppe hinzugefügt werden.

  • Um die Liste der Konten in Ihrer Organisation abzurufen, die für die Replikation aktiviert sind, verwenden Sie den Befehl SHOW REPLICATION ACCOUNTS.

  • Zum Abrufen der Liste der Failover-Gruppen Ihrer Organisation verwenden Sie SHOW FAILOVER GROUPS.

  • Hinweis zu Metadaten:

    Achtung

    Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.

Beispiele

Von Quellkonto ausführen

Fügen Sie myorg.myaccount3 zur Liste der Zielkonten hinzu, für die die Replikation der angegebenen Objekte und das Failover vom Quellkonto aus aktiviert ist.

ALTER FAILOVER GROUP myfg ADD myorg.myaccount3 TO ALLOWED_ACCOUNTS;
Copy

Setzen Sie die Objekttypliste für die Replikation im Quellkonto zurück, und fügen Sie die Datenbank db1 hinzu:

ALTER FAILOVER GROUP myfg SET
  OBJECT_TYPES = USERS, ROLES, WAREHOUSES, RESOURCE MONITORS, DATABASES
  ALLOWED_DATABASES = db1;
Copy

Fügen Sie die Datenbanken db2 und db3 zur Liste der Datenbanken ein:

ALTER FAILOVER GROUP myfg
  ADD db2, db3 TO ALLOWED_DATABASES;
Copy

Verschieben Sie Datenbank db3 in die Failover-Gruppe myfg2:

ALTER FAILOVER GROUP myfg
  MOVE DATABASES db3 TO FAILOVER GROUP myfg2;
Copy

Verschieben Sie die Datenbank db2 aus myfg in die Failover-Gruppe myfg3, die derzeit keine Datenbanken enthält:

  1. Fügen Sie zuerst databases zu object_types hinzu:

    ALTER FAILOVER GROUP myfg3 SET
      OBJECT_TYPES = DATABASES, SHARES;
    
    Copy
  2. Verschieben Sie db2 nach myfg3:

    ALTER FAILOVER GROUP myfg
      MOVE DATABASES db2 TO FAILOVER GROUP myfg3;
    
    Copy

Entfernen Sie alle Datenbanken aus der Datenbankliste des für Replikation und Failover vorgesehenen Quellkontos:

ALTER FAILOVER GROUP myfg
  SET ALLOWED_DATABASES = NULL;
Copy

Bemerkung

Bei Ausführung der obigen Anweisung werden alle Datenbanken aus der Liste der zu replizierenden Datenbanken entfernt, wobei aber keine Datenbankobjekte aus der Liste der für Replikation und Failover angegebenen Objekttypen entfernt werden.

So deaktivieren Sie Replikation und Failover für alle Datenbanken und entfernen Datenbanken aus der Liste der angegebenen Objekttypen:

ALTER FAILOVER GROUP myfg
  REMOVE databases FROM OBJECT_TYPES;
Copy

Fügen Sie das Intervall für automatisch geplante Aktualisierungen hinzu (oder ändern Sie es):

ALTER FAILOVER GROUP myfg
  SET REPLICATION_SCHEDULE = '15 MINUTE';
Copy

Von Zielkonto ausführen

Aktualisieren Sie die Objekte der Failover-Gruppe myfg im Zielkonto:

ALTER FAILOVER GROUP myfg REFRESH;
Copy

Stufen Sie die sekundäre Failover-Gruppe im aktuellen Zielkonto zur primären hoch:

ALTER FAILOVER GROUP myfg PRIMARY;
Copy

Halten Sie die automatischen Aktualisierungen an:

ALTER FAILOVER GROUP myfg SUSPEND;
Copy