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
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
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
odershares
), 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;
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;
Fügen Sie die Datenbanken db2
und db3
zur Liste der Datenbanken ein:
ALTER FAILOVER GROUP myfg
ADD db2, db3 TO ALLOWED_DATABASES;
Verschieben Sie Datenbank db3
in die Failover-Gruppe myfg2
:
ALTER FAILOVER GROUP myfg
MOVE DATABASES db3 TO FAILOVER GROUP myfg2;
Verschieben Sie die Datenbank db2
aus myfg
in die Failover-Gruppe myfg3
, die derzeit keine Datenbanken enthält:
Fügen Sie zuerst
databases
zuobject_types
hinzu:ALTER FAILOVER GROUP myfg3 SET OBJECT_TYPES = DATABASES, SHARES;Verschieben Sie
db2
nachmyfg3
:ALTER FAILOVER GROUP myfg MOVE DATABASES db2 TO FAILOVER GROUP myfg3;
Entfernen Sie alle Datenbanken aus der Datenbankliste des für Replikation und Failover vorgesehenen Quellkontos:
ALTER FAILOVER GROUP myfg
SET ALLOWED_DATABASES = NULL;
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;
Fügen Sie das Intervall für automatisch geplante Aktualisierungen hinzu (oder ändern Sie es):
ALTER FAILOVER GROUP myfg
SET REPLICATION_SCHEDULE = '15 MINUTE';
Von Zielkonto ausführen¶
Aktualisieren Sie die Objekte der Failover-Gruppe myfg
im Zielkonto:
ALTER FAILOVER GROUP myfg REFRESH;
Stufen Sie die sekundäre Failover-Gruppe im aktuellen Zielkonto zur primären hoch:
ALTER FAILOVER GROUP myfg PRIMARY;
Halten Sie die automatischen Aktualisierungen an:
ALTER FAILOVER GROUP myfg SUSPEND;