ALTER REPLICATION GROUP

Ändert die Eigenschaften einer bestehenden Replikationsgruppe.

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

  • Umbenennen der Replikationsgruppe

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

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

  • Hinzufügen oder Entfernen von Kontoobjekten der folgenden Typen zu oder aus einer Replikationsgruppe:

    • Datenbanken

    • Freigaben

    • Sicherheitsintegrationen

    • API-Integrationen

    • Bestimmte Typen von Benachrichtigungsintegrationen (siehe Integrationsreplikation)

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

  • Verschieben von Datenbanken oder Freigaben von einer Replikationsgruppe in eine andere Replikationsgruppe.

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

  • Aktualisieren der Objekte im Zielkonto vom Quellkonto aus

  • Anhalten einer geplanten Replikation

  • Fortsetzen einer geplanten Replikation

Siehe auch:

CREATE REPLICATION GROUP, DROP REPLICATION GROUP, SHOW REPLICATION GROUPS

Syntax

Quellkonto

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

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

ALTER REPLICATION 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 REPLICATION GROUP [ IF EXISTS ] <name>
  ADD <db_name> [ , <db_name> ,  ... ] TO ALLOWED_DATABASES

ALTER REPLICATION GROUP [ IF EXISTS ] <name>
  MOVE DATABASES <db_name> [ , <db_name> ,  ... ] TO REPLICATION GROUP <move_to_rg_name>

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

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

ALTER REPLICATION GROUP [ IF EXISTS ] <name>
  MOVE SHARES <share_name> [ , <share_name> ,  ... ] TO REPLICATION GROUP <move_to_rg_name>

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

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

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

Zielkonto

ALTER REPLICATION GROUP [ IF EXISTS ] <secondary_name> REFRESH

ALTER REPLICATION GROUP [ IF EXISTS ] <secondary_name> SUSPEND

ALTER REPLICATION GROUP [ IF EXISTS ] <secondary_name> RESUME
Copy

Parameter

Quellkonto

name

Gibt den Bezeichner der Replikationsgruppe an.

RENAME TO new_name

new_name

Gibt den neuen Bezeichner der Replikationsgruppe 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 Replikationsgruppe 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 REPLICATION GROUP.

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

Gibt eine durch Kommas getrennte Liste von Datenbanken an, die zur Liste der für die Replikation aktivierten Datenbanken hinzugefügt werden sollen. Um eine Datenbank 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 REPLICATION GROUP move_to_rg_name

Gibt eine durch Kommas getrennte Liste von Datenbanken an, die von einer Replikationsgruppe in eine andere Replikationsgruppe verschoben werden sollen. Bei der Replikationsgruppe, 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_rg_name

Gibt den Bezeichner für die Replikationsgruppe 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 die Replikation und aktivierten Datenbanken entfernt werden sollen.

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

Gibt eine durch Kommas getrennte Liste von Freigaben an, die zur Liste der für die Replikation aktivierten Freigaben hinzugefügt werden sollen. Um eine Freigabe 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 REPLICATION GROUP move_to_rg_name

Gibt eine durch Kommas getrennte Liste von Freigaben an, die von einer Replikationsgruppe in eine andere Replikationsgruppe verschoben werden sollen. Bei der Replikationsgruppe, 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_rg_name

Gibt den Bezeichner für die Replikationsgruppe 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 die Replikation 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 Replikationsgruppe hinzugefügt werden sollen, um die Replikation der angegebenen Objekte vom Quellkonto in das Zielkonto zu aktivieren.

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 Replikationsgruppe entfernt werden sollen, um die Replikation der angegebenen Objekte vom Quellkonto in das Zielkonto zu deaktivieren.

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 in Konten mit niedrigeren Editionen in einem der folgenden Szenarios:

  • Eine primäre Replikationsgruppe, die nur Datenbank- und/oder Freigabeobjekte enthält, befindet sich in einem Business Critical-Konto (oder höher), aber eines oder mehrere der zur Replikation genehmigten Konten weisen niedrigere Editionen auf. Die Business Critical Edition ist für Snowflake-Konten mit äußerst sensiblen Daten vorgesehen.

  • Eine primäre Replikationsgruppe mit einem beliebigen Objekttyp 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.

Beide Szenarios sind standardmäßig nicht erlaubt, um zu verhindern, dass Kontoadministratoren von Business Critical-Konten (oder höher) versehentlich vertrauliche Daten in Konten mit niedrigeren Editionen replizieren.

Zielkonto

secondary_name

Gibt den Bezeichner der Replikationsgruppe an.

REFRESH

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

SUSPEND

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

Bemerkung

Das Anhalten der geplanten Replikation hat keine Auswirkungen auf eine Aktualisierungsoperation, die gerade ausgeführt wird. Es wird nur der Zeitplan angehalten, sodass nach Abschluss der aktuellen Aktualisierung keine weiteren Aktualisierungen geplant sind.

RESUME

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

Nutzungshinweise

  • Folgende Berechtigungen sind mindestens erforderlich:

    • Zum Aktualisieren einer sekundären Replikationsgruppe mit ALTER REPLICATION GROUP … REFRESH muss die aktive Primärrolle entweder die OWNERSHIP- oder die REPLICATE-Berechtigung für die Replikationsgruppe haben.

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

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

    • Um eine Freigabe zu einer Replikationsgruppe 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 Replikationsgruppe befinden.

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

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

    • Beide Gruppen müssen vom gleichen Typ sein: REPLICATION 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.

  • Um die Liste der Replikationsgruppe in Ihrer Organisation abzurufen, verwenden Sie den Befehl SHOW REPLICATION GROUPS. In der Spalte allowed_accounts werden alle Zielkonten aufgelistet, die für die Replikation von einem Quellkonto aktiviert sind.

  • 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 vom Quellkonto aus aktiviert ist.

ALTER REPLICATION GROUP myrg ADD myorg.myaccount3 TO ALLOWED_ACCOUNTS;
Copy

Setzen Sie die Objekttypenliste für die Replikation im Quellkonto zurück:

ALTER REPLICATION GROUP myrg SET
  OBJECT_TYPES = DATABASES, SHARES;
Copy

Fügen Sie Datenbank db1 zur Liste der für die Replikation aktivierten Datenbanken hinzu:

ALTER REPLICATION GROUP myrg
  ADD db1 to ALLOWED_DATABASES;
Copy

Fügen Sie die Freigabe s2 zur Liste der für die Replikation aktivierten Freigaben hinzu:

ALTER REPLICATION GROUP myrg
  ADD s2 TO ALLOWED_SHARES;
Copy

Verschieben Sie Datenbank db1 in die Replikationsgruppe myrg2:

ALTER REPLICATION GROUP myrg
  MOVE DATABASES db1 TO REPLICATION GROUP myrg2;
Copy

Legen Sie für das geplante Aktualisierungsintervall 15 Minuten fest:

ALTER REPLICATION GROUP myrg SET
  REPLICATION_SCHEDULE = '15 MINUTE';
Copy

Von Zielkonto ausführen

Aktualisieren Sie die Objekte der Replikationsgruppe myrg im Zielkonto:

ALTER REPLICATION GROUP myrg REFRESH;
Copy

Halten Sie die automatischen Aktualisierungen an:

ALTER REPLICATION GROUP myrg SUSPEND;
Copy