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
External volumes
Freigaben
Sicherheitsintegrationen
API-Integrationen
Speicherintegrationen
Integration für externen Zugriff
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, SYSTEM$SCHEDULE_ASYNC_REPLICATION_GROUP_REFRESH
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> , ... ] ]
[ ALLOWED_DATABASES = <db_name> [ , <db_name> , ... ] ]
[ ALLOWED_EXTERNAL_VOLUMES = <external_volume_name> [ , <external_volume_name> , ... ] ]
[ ALLOWED_SHARES = <share_name> [ , <share_name> , ... ] ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name> SET
OBJECT_TYPES = INTEGRATIONS [ , <object_type> , ... ]
ALLOWED_INTEGRATION_TYPES = <integration_type_name> [ , <integration_type_name> ... ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name> SET
COMMENT = '<string_literal>'
ALTER REPLICATION GROUP [ IF EXISTS ] <name> SET
REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }'
ALTER REPLICATION GROUP [ IF EXISTS ] <name> SET
ERROR_INTEGRATION = <integration_name>
ALTER REPLICATION GROUP [ IF EXISTS ] <name> SET
TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name> UNSET
{ COMMENT | REPLICATION_SCHEDULE | ERROR_INTEGRATION } [ , ... ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name> UNSET
TAG <tag_name> [ , <tag_name> ... ]
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 <external_volume_name> [ , <external_volume_name> , ... ] TO ALLOWED_EXTERNAL_VOLUMES
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
MOVE EXTERNAL VOLUMES <external_volume_name> [ , <external_volume_name> , ... ] TO REPLICATION GROUP <move_to_rg_name>
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
REMOVE <external_volume_name> [ , <external_volume_name> , ... ] FROM ALLOWED_EXTERNAL_VOLUMES
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
Zielkonto
ALTER REPLICATION GROUP [ IF EXISTS ] <name> REFRESH
ALTER REPLICATION GROUP [ IF EXISTS ] <name> SUSPEND [ IMMEDIATE ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name> RESUME
Parameter¶
Quellkonto
nameGibt den Bezeichner der Replikationsgruppe an.
RENAME TO new_namenew_nameGibt 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 Eigenschaften an, die für die Replikationsgruppe festgelegt werden sollen (getrennt durch Leerzeichen, Kommas oder Neue-Zeile-Zeichen):
OBJECT_TYPES = object_type [ , object_type , ... ]Setzt die Liste von Objekttypen zurück, um die Replikation vom Quellkonto zu einem oder mehreren Zielkonten vorzunehmen.
Bemerkung
For database, external volume, and share objects:
If DATABASES, EXTERNAL VOLUMES, or SHARES are included in the OBJECT_TYPES list, and remain in the OBJECT_TYPES list after the list is reset, the respective allowed objects list (ALLOWED_DATABASES, ALLOWED_EXTERNAL_VOLUMES, or ALLOWED_SHARES) remains unchanged.
Wenn die Liste OBJECT_TYPES zurückgesetzt wird, um DATABASES hinzuzufügen oder zu entfernen, wird die Liste ALLOWED_DATABASES auf NULL gesetzt.
If the OBJECT_TYPES list is reset to add or remove EXTERNAL VOLUMES, the ALLOWED_EXTERNAL_VOLUMES list is set to NULL.
Wenn die Liste OBJECT_TYPES zurückgesetzt wird, um SHARES hinzuzufügen oder zu entfernen, wird die Liste ALLOWED_SHARES auf NULL gesetzt.
Use the ADD, MOVE, and REMOVE clauses to modify the list of allowed database, external volume, or share objects.
Die folgenden Objekttypen werden unterstützt:
- ACCOUNT PARAMETERS:
Erfordert Business Critical Edition (oder höher).
Alle Parameter auf Kontoebene. Dazu gehören Kontoparameter und Parameter, die für Ihr Konto eingestellt werden können.
- DATABASES:
Fügen Sie Datenbankobjekte zur Liste der Objekttypen hinzu. Wenn in der Liste der angegebenen Objekttypen bereits Datenbankobjekte enthalten waren, bleibt die Liste
ALLOWED_DATABASESunverändert. Um die Liste der Datenbanken zu ändern, verwenden Sie die ADD-, MOVE- oder REMOVE-Klausel.- EXTERNAL VOLUMES:
Add external volume objects to the list of object types. If external volume objects are included in the list of specified object types, the
ALLOWED_EXTERNAL_VOLUMESparameter must be set. To modify the list of external volumes, use the ADD, MOVE, or REMOVE clauses.- INTEGRATIONS:
Erfordert Business Critical Edition (oder höher).
Derzeit werden nur Sicherheit, API, Speicher, externer Zugriff und bestimmte Arten von Benachrichtigungsintegrationen unterstützt. Weitere Details dazu finden Sie unter Integrationsreplikation.
Wenn Integrationsobjekte in der Liste der angegebenen Objekttypen enthalten sind, muss der Parameter
ALLOWED_INTEGRATION_TYPESgesetzt werden.- NETWORK POLICIES:
Erfordert Business Critical Edition (oder höher).
Alle Netzwerkrichtlinien im Quellkonto.
- RESOURCE MONITORS:
Erfordert Business Critical Edition (oder höher).
Alle Ressourcenmonitore im Quellkonto.
- ROLES:
Erfordert Business Critical Edition (oder höher).
Alle Rollen im Quellkonto. Das Replizieren von Rollen schließt implizit alle Berechtigungen für Objekttypen ein, die in der Replikationsgruppe enthalten sind. Wenn beispielsweise
ROLESder einzige Objekttyp ist, der repliziert wird, werden nur Rollenhierarchien (d. h. Rollen, die anderen Rollen zugewiesen werden) in Zielkonten repliziert. Wenn der ObjekttypUSERSebenfalls enthalten ist, werden auch die Rollenzuweisungen an die Benutzer repliziert.- SHARES:
Fügen Sie Freigabeobjekte zur Liste der Objekttypen hinzu. Wenn in der Liste der freigegebenen Objekttypen bereits Freigabeobjekte enthalten waren, bleibt die Liste
ALLOWED_SHARESunverändert. Um die Liste der Freigaben zu ändern, verwenden Sie die ADD-, MOVE- oder REMOVE-Klausel.- USERS:
Erfordert Business Critical Edition (oder höher).
Alle Benutzer des Quellkontos.
- WAREHOUSES:
Erfordert Business Critical Edition (oder höher).
Alle Warehouses des Quellkontos.
Bemerkung
Wenn Sie Benutzer und Rollen replizieren, werden die programmatischen Zugriffstoken für Benutzer automatisch repliziert.
ALLOWED_DATABASES = db_name [ , db_name , ... ]Gibt die Datenbank oder die Liste der Datenbanken an, für die Sie die Replikation vom Quellkonto in das Zielkonto aktivieren. Damit Sie diesen Parameter einstellen können, muss die
OBJECT_TYPES-ListeDATABASESenthalten.db_nameGibt den Bezeichner der Datenbank an.
ALLOWED_EXTERNAL_VOLUMES = external_volume_name [ , external_volume_name , ... ]-
Specifies the external volume or list of external volumes for which you are enabling replication from the source account to the target account. For you to set this parameter, the
OBJECT_TYPESlist must includeEXTERNAL VOLUMES.external_volume_nameSpecifies the identifier for the external volume.
ALLOWED_SHARES = share_name [ , share_name , ... ]Specifies the share or list of shares for which you are enabling replication from the source account to the target account. For you to set this parameter, the
OBJECT_TYPESlist must includeSHARES.share_nameGibt den Bezeichner der Freigabe an.
Bemerkung
If the ALLOWED_DATABASES, ALLOWED_EXTERNAL_VOLUMES, or ALLOWED_SHARES lists are modified, any objects that were previously in the list and removed will be dropped in any target account with a linked secondary replication group when the next refresh operation occurs.
ALLOWED_INTEGRATION_TYPES = integration_type_name [ , integration_type_name , ... ]Erfordert Business Critical Edition (oder höher).
Typ(en) von Integrationen, für die Sie die Replikation vom Quellkonto in das Zielkonto aktivieren.
Die Liste
OBJECT_TYPESmussINTEGRATIONSenthalten, damit dieser Parameter gesetzt werden kann.Die folgenden Integrationstypen werden unterstützt:
- SECURITY INTEGRATIONS:
Gibt die Sicherheitsintegrationen an.
Die Liste
OBJECT_TYPESmussROLESenthalten, damit dieser Parameter gesetzt werden kann.- API INTEGRATIONS:
Gibt die API-Integrationen an.
Für die Replikation von API-Integrationen sind zusätzliche Einstellungen erforderlich, nachdem die API-Integration in das Zielkonto repliziert wurde. Weitere Informationen dazu finden Sie unter Aktualisieren des Remotedienstes für API-Integrationen.
- STORAGE INTEGRATIONS:
Gibt Speicherintegrationen an.
- EXTERNAL ACCESS INTEGRATIONS:
Gibt Integrationen für den externen Zugriff an.
Weitere Informationen dazu finden Sie unter Replikation von gespeicherten Prozeduren und benutzerdefinierten Funktionen (UDFs).
- NOTIFICATION INTEGRATIONS:
Gibt die Benachrichtigungsintegrationen an.
Es werden nur bestimmte Typen von Benachrichtigungsintegrationen repliziert. Weitere Details dazu finden Sie unter Integrationsreplikation.
COMMENT = 'string_literal'Fügt einen Kommentar hinzu oder überschreibt einen vorhandenen Kommentar für die Replikationsgruppe.
- Standard:
NULL
REPLICATION_SCHEDULE ...Gibt den Zeitplan für das Aktualisieren der sekundären Replikationsgruppen an:
USING CRON expr time_zoneGibt einen Cron-Ausdruck und eine Zeitzone für das Aktualisieren der sekundären Gruppe an. Unterstützt eine Teilmenge der Standardsyntax des Cron-Dienstprogramms.
Eine Liste der Zeitzonen finden Sie unter List of tz database time zones (Liste der Zeitzonen aus der IANA-Zeitzonen-Datenbank) (Wikipedia).
Der Cron-Ausdruck besteht aus folgenden Feldern:
# __________ minute (0-59) # | ________ hour (0-23) # | | ______ day of month (1-31, or L) # | | | ____ month (1-12, JAN-DEC) # | | | | __ day of week (0-6, SUN-SAT, or L) # | | | | | # | | | | | * * * * *
Folgende Sonderzeichen werden unterstützt:
*Platzhalter. Gibt jedes vorkommende Feld an.
LSteht für „last“ (letzte). Bei Verwendung im Feld Wochentag können Sie Konstrukte wie „den letzten Freitag“ („5L“) eines bestimmten Monats angeben. Im Feld Tag des Monats wird der letzte Tag des Monats angegeben.
/nGibt die n-te Instanz einer bestimmten Zeiteinheit an. Jeder Zeitanteil wird unabhängig berechnet. Wenn beispielsweise im Monatsfeld
4/3angegeben ist, ist die Aktualisierung für April, Juli und Oktober geplant (d. h. alle 3 Monate, beginnend mit dem 4. Monat des Jahres). In den Folgejahren wird derselbe Zeitplan beibehalten. Das heißt, die Aktualisierung ist nicht für eine Ausführung im Januar (3 Monate nach der Oktober-Ausführung) geplant.
Bemerkung
Der Cron-Ausdruck wird derzeit nur für die angegebene Zeitzone ausgewertet. Durch Ändern des TIMEZONE-Parameterwerts für das Konto (oder Festlegen des Werts auf Benutzer- oder Sitzungsebene) wird die Zeitzone für das Aktualisieren nicht geändert.
Der Cron-Ausdruck definiert alle gültigen Ausführungszeiten für das Aktualisieren. Snowflake versucht, die sekundären Gruppen auf Basis dieses Zeitplans zu aktualisieren. Eine gültige Laufzeit wird jedoch übersprungen, wenn eine vorherige Laufzeit nicht vor dem Start der nächsten gültigen Laufzeit abgeschlossen wurde.
Wenn sowohl ein bestimmter Tag des Monats als auch ein bestimmter Wochentag im Cron-Ausdruck enthalten sind, wird die Aktualisierung an Tagen geplant, die entweder dem Tag des Monats oder dem Wochentag entsprechen. Beispielsweise plant
SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC'eine Aktualisierung um 0:00 Uhr an jedem 10. bis 20. Tag des Monats und auch an jedem Dienstag oder Donnerstag außerhalb dieser Tage.
num MINUTEGibt ein Intervall (in Minuten) der Wartezeit zwischen den Aktualisierungen an. Akzeptiert nur positive ganze Zahlen.
Unterstützt auch die Syntax
num M.Um Mehrdeutigkeiten zu vermeiden, wird in folgenden Situationen eine Basisintervallzeit festgelegt:
Das Objekt wird erstellt (mit CREATE <Objekt>) oder
Ein anderes Intervall wird festgelegt (mit ALTER <Objekt> … SET REPLICATION_SCHEDULE)
Die Basisintervallzeit startet den Intervallzähler ab der aktuellen Uhrzeit. Wenn beispielsweise ein INTERVAL-Wert von
10festgelegt ist und die geplante Aktualisierung um 9:03 Uhr aktiviert wird, wird die Aktualisierung um 9:13 Uhr, 9:23 Uhr usw. ausgeführt. Beachten Sie, dass wir uns nach besten Kräften bemühen, absolute Präzision sicherzustellen, aber nur garantieren, dass Aktualisierungen nicht vor ihrem festgelegten Intervall ausgeführt werden (im aktuellen Beispiel könnte es sein, dass die Aktualisierung erst 9:14 Uhr ausgeführt wird, aber definitiv nicht 9:12 Uhr).Bemerkung
Der maximal unterstützte Wert ist
11520(8 Tage). Wenn der Replikationsplan einen größeren Wertnum MINUTEhat, wird die Aktualisierungsoperation nie ausgeführt.
- Standard:
NULL
ERROR_INTEGRATION = integration_nameGibt den Namen der Benachrichtigungsintegration an, die für E-Mail-/Push-Benachrichtigungen beim Auftreten von Aktualisierungsfehlern für die Replikationsgruppe verwendet werden soll. Weitere Details dazu finden Sie unter Fehlerbenachrichtigungen für Replikations- und Failover-Gruppen.
- Standard:
NULL
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]Gibt den Namen des Tags und den Wert der Tag-Zeichenfolge an.
Der Tag-Wert ist immer eine Zeichenfolge, die maximale 256 Zeichen lang sein kann.
Weitere Informationen zur Angabe von Tags in einer Anweisung finden Sie unter Tag-Kontingente.
ADD db_name [ , db_name , ... ] TO ALLOWED_DATABASESGibt 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_nameGibt den Bezeichner der Datenbank an.
MOVE DATABASES db_name [ , db_name , ... ] TO REPLICATION GROUP move_to_rg_nameGibt 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_nameGibt den Bezeichner der Datenbank an.
move_to_rg_nameGibt den Bezeichner für die Replikationsgruppe an, in die die Datenbanken verschoben werden sollen.
REMOVE db_name [ , db_name , ... ] FROM ALLOWED_DATABASESGibt eine durch Kommas getrennte Liste von Datenbanken an, die aus der Liste der für die Replikation und aktivierten Datenbanken entfernt werden sollen.
Bemerkung
Wenn Sie eine Datenbank aus einer primären Replikationsgruppe entfernen, wird die Datenbank bei der nächsten Aktualisierungsoperation in jedem Zielkonto mit einer verknüpften sekundären Replikationsgruppe gelöscht.
Um zu vermeiden, dass Datenbanken im Zielkonto gelöscht werden, können Sie die sekundäre Replikationsgruppe löschen, bevor die geänderte primäre Replikationsgruppe das nächste Mal in das Zielkonto repliziert wird. Wenn Sie die sekundäre Replikationsgruppe löschen, werden die schreibgeschützten Sekundärdatenbanken, die in der Gruppe enthalten waren, zu eigenständigen Datenbanken mit Lese-/Schreib-Zugriff im Zielkonto.
ADD external_volume_name [ , external_volume_name , ... ] TO ALLOWED_EXTERNAL_VOLUMESSpecifies a comma-separated list of external volumes to add to the list of external volumes enabled for replication. To add an external volume, EXTERNAL VOLUMES must be included in the list of specified object types. If the list of object types does not already include EXTERNAL VOLUMES, you must add it.
external_volume_nameSpecifies the identifier for the external volume.
MOVE EXTERNAL VOLUMES external_volume_name [ , external_volume_name , ... ] TO REPLICATION GROUP move_to_rg_nameSpecifies a comma-separated list of external volumes to move from one replication group to another replication group. The replication group the external volumes are being moved to must include EXTERNAL VOLUMES in the list of specified object types.
db_nameSpecifies the identifier for the external volume.
move_to_rg_nameSpecifies the identifier for the replication group the external volumes are being moved to.
REMOVE external_volume_name [ , external_volume_name , ... ] FROM ALLOWED_EXTERNAL_VOLUMESSpecifies a comma-separated list of external volumes to remove from the list of external volumes enabled for replication.
Bemerkung
When you remove an external volume from a primary replication group, the external volume is dropped in any target account with a linked secondary replication group when the next refresh operation occurs.
To avoid dropping external volumes in the target account, you can drop the secondary replication group before the next time the modified primary replication group is replicated to the target account. When you drop the secondary replication group, read-only secondary external volumes that were included in the group become standalone read-write external volumes in the target account.
ADD share_name [ , share_name , ... ] TO ALLOWED_SHARESSpecifies a comma-separated list of shares to the list of shares for replication. To add a share, SHARES must be included in the list of specified object types. If the list of object types doesn’t already include SHARES, you must add it.
share_nameGibt den Bezeichner der Freigabe an.
MOVE SHARES share_name [ , share_name , ... ] TO REPLICATION GROUP move_to_rg_nameGibt 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_nameGibt den Bezeichner der Freigabe an.
move_to_rg_nameGibt den Bezeichner für die Replikationsgruppe an, in die die Freigaben verschoben werden sollen.
REMOVE share_name [ , share_name , ... ] FROM ALLOWED_SHARESGibt eine durch Kommas getrennte Liste von Freigaben an, die aus der Liste der für die Replikation aktivierten Freigaben entfernt werden sollen.
Bemerkung
Wenn Sie eine Freigabe aus einer primären Replikationsgruppe entfernen, wird die Freigabe bei der nächsten Aktualisierungsoperation in jedem Zielkonto mit einer verknüpften sekundären Replikationsgruppe gelöscht.
ADD org_name.target_account_name [ , org_name.target_account_name , ... ] TO ALLOWED_ACCOUNTSGibt 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_nameName Ihrer Snowflake-Organisation.
target_account_nameZielkonto, für das Sie die Replikation der angegebenen Objekte aktivieren.
REMOVE org_name.target_account_name [ , org_name.target_account_name , ... ] FROM ALLOWED_ACCOUNTSGibt 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_nameName Ihrer Snowflake-Organisation.
target_account_nameZielkonto, für das Sie die Replikation der angegebenen Objekte deaktivieren.
IGNORE EDITION CHECKErmö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
nameGibt den Bezeichner der Replikationsgruppe an.
REFRESHAktualisiert die Objekte im (aktuellen) Zielkonto aus dem Quellkonto.
SUSPEND [ IMMEDIATE ]Anhalten der geplanten Aktualisierung der sekundären Replikationsgruppe (wenn die primäre Replikationsgruppe automatische Aktualisierungen mit der Eigenschaft
REPLICATION_SCHEDULEgeplant hat).Die optionale Klausel
IMMEDIATEbricht eine geplante Aktualisierungsoperation ab, die gerade für die sekundäre Replikationsgruppe ausgeführt wird (falls es eine gibt). Beachten Sie, dass zwischen dem Zeitpunkt, an dem die Anweisung zurückkehrt, und dem Zeitpunkt, an dem der Abbruch der Aktualisierungsoperation abgeschlossen ist, eine leichte Verzögerung auftreten kann.RESUMEFortsetzen der geplanten Aktualisierung der sekundären Replikationsgruppe (wenn die primäre Replikationsgruppe automatische Aktualisierungen mit der Eigenschaft
REPLICATION_SCHEDULEgeplant hat).UNSET ...Gibt eine (oder mehrere) Eigenschaft(en) an, die für die Replikationsgruppe gelöscht werden soll(en), wodurch sie auf die Standardwerte zurückgesetzt werden:
COMMENTREPLICATION_SCHEDULEERROR_INTEGRATIONTAG tag_name [ , tag_name ... ]
Sie können mehrere Eigenschaften mit einer einzigen ALTER-Anweisung zurücksetzen; jede Eigenschaft muss jedoch durch ein Komma getrennt werden. Wenn Sie eine Eigenschaft zurücksetzen, geben Sie außerdem nur den Namen an; ein Wert ist nicht erforderlich.
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.
To add an external volume to a replication group, the active role must have the USAGE privilege on the external volume.
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.
Objects other than databases, external volumes, and shares must be in the same replication group.
Eine Datenbank kann nur zu einer einzigen Replikations- oder Failover-Gruppe hinzugefügt werden.
An external volume can only be added to one replication or failover group.
To move databases, external volumes, or shares from one replication group (the move-from group) to another replication group (the move-to group):
Beide Gruppen müssen vom gleichen Typ sein: REPLICATION GROUP.
If the last database in the move-from group is moved to another group, the
allowed_databasesproperty for the move-from group is set to NULL. The same behavior applies to shares and external volumes.If the move-to group doesn’t have the object type that is being moved (
databases,external volumes, orshares) in theobject_typeslist, it must be explicitly added to the move-to group before you move the objects.
If database, external volume, or share objects are removed from a primary replication group (by using the REMOVE parameter or SET parameter to modify the ALLOWED_DATABASES, ALLOWED_EXTERNAL_VOLUMES, or ALLOWED_SHARES lists), those objects are dropped in any target account with a linked secondary replication group when the next refresh operation occurs.
Um zu vermeiden, dass diese Objekte im Zielkonto gelöscht werden, können Sie die sekundäre Replikationsgruppe löschen, bevor die geänderte primäre Replikationsgruppe das nächste Mal in das Zielkonto repliziert wird.
Eingehende Freigaben (Freigaben von Anbietern) können nicht zu einer Replikations- oder Failover-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_accountswerden alle Zielkonten aufgelistet, die für die Replikation von einem Quellkonto aktiviert sind.Automatisch geplante Aktualisierungsoperationen werden mit der Rolle ausgeführt, die die OWNERSHIP-Berechtigung für die Gruppe hat. Wenn eine geplante Aktualisierungsoperation aufgrund unzureichender Berechtigungen fehlschlägt, erteilen Sie der Rolle mit der Berechtigung OWNERSHIP für die Gruppe die erforderlichen Berechtigungen.
Der Befehl ALTER REPLICATION GROUP … SUSPEND IMMEDIATE bricht eine laufende Aktualisierungsoperation nicht ab, wenn sie manuell ausgelöst wurde. Weitere Informationen dazu finden Sie unter Laufende Aktualisierungsoperation abbrechen, die nicht automatisch geplant wurde.
Das Abbrechen einer laufenden Aktualisierungsoperation, die sich in der Phase SECONDARY_DOWNLOADING_METADATA oder SECONDARY_DOWNLOADING_DATA befindet, kann zu einem inkonsistenten Zustand des Zielkontos führen. Weitere Informationen dazu finden Sie unter Aktuelle Phase einer laufenden Aktualisierungsoperation anzeigen.
Wenn Sie eine Replikations- oder Failover-Gruppe mit einem Tag erstellen oder eine Replikations- oder Failover-Gruppe durch Festlegen eines Tags ändern, gilt die Tag-Vererbung nicht für Objekte, die Sie in der Replikations- oder Failover-Gruppe angeben.
Die Tag-Vererbung gilt nur für Objekte mit einer Übergeordnet/Untergeordnet-Beziehung, wie Datenbank, Schema und Tabelle. Es gibt keine untergeordneten Objekte von Replikations- oder Failover-Gruppen.
Sie können bei einer sekundären Replikation oder Failover-Gruppe kein Tag festlegen oder ändern, da diese Objekte schreibgeschützt sind.
Wenn Sie eine sekundäre Replikations- oder Failover-Gruppe aktualisieren, werden alle Tags, die in der primären Gruppe festgelegt sind, auch in der sekundären Gruppe festgelegt.
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;
Setzen Sie die Objekttypenliste für die Replikation im Quellkonto zurück:
ALTER REPLICATION GROUP myrg SET
OBJECT_TYPES = DATABASES, SHARES;
Fügen Sie Datenbank db1 zur Liste der für die Replikation aktivierten Datenbanken hinzu:
ALTER REPLICATION GROUP myrg
ADD db1 to ALLOWED_DATABASES;
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;
Verschieben Sie Datenbank db1 in die Replikationsgruppe myrg2:
ALTER REPLICATION GROUP myrg
MOVE DATABASES db1 TO REPLICATION GROUP myrg2;
Legen Sie für das geplante Aktualisierungsintervall 15 Minuten fest:
ALTER REPLICATION GROUP myrg SET
REPLICATION_SCHEDULE = '15 MINUTE';
Von Zielkonto ausführen¶
Aktualisieren Sie die Objekte der Replikationsgruppe myrg im Zielkonto:
ALTER REPLICATION GROUP myrg REFRESH;
Halten Sie die automatischen Aktualisierungen an:
ALTER REPLICATION GROUP myrg SUSPEND;
