CREATE BACKUP SET¶
Erstellt ein Backup-Set für eine Tabelle, ein Schema oder eine Datenbank. Sobald das Backup-Set existiert, können Sie dem Backup-Set jederzeit ein neues Backup hinzufügen, indem Sie einen ALTER BACKUP SET-Befehl ausführen. Snowflake fügt dem Backup-Set auch automatisch Backups hinzu, wenn Sie einen Zeitplan in einer Backup-Richtlinie definiert und diese Backup-Richtlinie mit dem Backup-Set verknüpft haben.
Jedes Backup-Set repräsentiert ein Set von Backups für eine bestimmte Tabelle oder die Objekte in einem bestimmten Schema oder die Objekte in einer bestimmten Datenbank. Auf diese Weise können Sie Ihre Backups sehr detailliert oder sehr vollständig gestalten. Und die Sicherungen für jede Tabelle, jedes Schema oder jede Datenbank können ihre eigenen unabhängigen Zeitpläne haben.
Informationen zu den Arten von Objekten, die in Schema-Backups und Datenbank-Backups enthalten sind, finden Sie unter Backup-Objekte.
- Siehe auch:
ALTER BACKUP SET, DROP BACKUP SET, SHOW BACKUP SETS, CREATE BACKUP POLICY
Syntax¶
CREATE [ OR REPLACE ] BACKUP SET [ IF NOT EXISTS ] <name>
FOR [ DYNAMIC ] TABLE <table_name>
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ WITH BACKUP POLICY <policy_name> ]
[ COMMENT = <string> ]
CREATE [ OR REPLACE ] BACKUP SET [ IF NOT EXISTS ] <name>
FOR SCHEMA <schema_name>
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ WITH BACKUP POLICY <policy_name> ]
[ COMMENT = <string> ]
CREATE [ OR REPLACE ] BACKUP SET [ IF NOT EXISTS ] <name>
FOR DATABASE <database_name>
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ WITH BACKUP POLICY <policy_name> ]
[ COMMENT = <string> ]
Erforderliche Parameter¶
nameBezeichner für das Backup-Set; der Bezeichner muss für Ihr Konto eindeutig sein.
Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.
FOR [ DYNAMIC ] TABLE table_nameGibt den Namen der Tabelle oder der dynamischen Tabelle an. In diesem Fall besteht das Backup-Set aus Backups einer einzelnen Tabelle.
FOR SCHEMA schema_nameGibt den Namen des Schemas an. In diesem Fall repräsentiert das Backup-Set Backups aller Tabellen und anderer Objekte in einem bestimmten Schema.
FOR DATABASE database_nameGibt den Namen der Datenbank an. In diesem Fall repräsentiert das Backup-Set Backups aller Tabellen, Schemas und anderen Objekte in einer bestimmten Datenbank.
Optionale Parameter¶
OR REPLACEWenn bereits ein Backup-Set mit diesem Namen existiert, löschen Sie ihn und erstellen Sie einen neuen. Wenn das Backup-Set aufgrund von Backup-Richtlinienregeln für Aufbewahrungssperren, gesetzlichen Bestimmungen und Ablaufzeiten nicht gelöscht werden kann, schlägt der Befehl fehl. Diese Klausel schließt
IF NOT EXISTSaus (und umgekehrt).IF NOT EXISTSErstellt das Backup-Set nur, wenn es kein Backup-Set mit demselben Namen gibt. Wenn bereits ein Backup-Set vorhanden ist, gibt der Befehl eine Erfolgsmeldung zurück, obwohl er keine Auswirkungen hat. Diese Klausel schließt
OR REPLACEaus (und umgekehrt).
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 quotas.
WITH BACKUP POLICY policy_nameGibt den Namen der Backup-Richtlinie für das Set an. Die Backup-Richtlinie definiert die Eigenschaften des Backup-Sets, wie z. B. den Zeitplan für Backups, die Aufbewahrungsfrist für jeden Backup und ob verhindert werden soll, dass Backups vor dem Ende der Aufbewahrungsfrist entfernt werden.
Wenn Sie diesen Parameter von dem CREATE BACKUP SET-Befehl weglassen, können Sie eine Richtlinie später mit dem ALTER BACKUP SET-Befehl anwenden.
Wichtig
Das Anwenden einer Backup-Richtlinie mit einer Aufbewahrungssperre auf ein Backup-Set ist unumkehrbar. Aufgrund der starken Garantien, die für die Einhaltung gesetzlicher Vorschriften erforderlich sind, können Sie die Sperre nicht mehr widerrufen, nachdem Sie einem Backup-Set eine Aufbewahrungssperre erteilt haben. Der Snowflake-Support kann eine solche Aufbewahrungssperre auch nicht widerrufen. Planen Sie sorgfältig, bevor Sie eine Aufbewahrungssperre für ein Backup-Set mit einer langen Ablauffrist festlegen, um unerwartete Speichergebühren für nicht löschbare Backup-Sets und die Schemas und Datenbanken, die sie enthalten, zu vermeiden.
Wenn eine Snowflake-Organisation gelöscht wird, ist die Organisation nicht mehr ein Snowflake-Kunde. In diesem Fall löscht Snowflake alle Backups, auch solche mit Aufbewahrungssperren. Das Löschen einer Snowflake-Organisation erfordert die Einbeziehung des Snowflake-Supports. Das kann ein Administrator nicht versehentlich tun.
COMMENT = 'string_literal'Gibt einen Kommentar für das Backup-Set an.
Standard: Kein Wert
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Anmerkungen |
|---|---|
CREATE BACKUP SET |
Die Rolle, mit der ein Backup-Set erstellt wird, muss diese Berechtigung für das Schema haben, in dem das Backup-Set erstellt wird. Um das Backup-Set tatsächlich zu erstellen, benötigt er auch die entsprechende Berechtigung für das Objekt, das Subjekt des Backup-Sets ist: SELECT für ein Tabellen-Backup oder USAGE für ein Schema-Backup oder ein Datenbank-Backup. |
SELECT |
Die Rolle, mit der ein Backup-Set für eine Tabelle erstellt wird, muss die SELECT -Berechtigung für diese Tabelle haben. |
USAGE |
Die Rolle, mit der ein Backup-Set für ein Schema oder eine Datenbank erstellt wird, muss die Berechtigung USAGE-Berechtigung für dieses Schema oder diese Datenbank haben. |
APPLY |
Die Rolle, die zum Anwenden einer Backup-Richtlinie auf ein Backup-Set verwendet wird, muss über diese Berechtigung für die Backup-Richtlinie verfügen. |
APPLY BACKUP RETENTION LOCK |
Die Rolle, die zum Anwenden einer Backup-Richtlinie mit Aufbewahrungssperre auf einem Backup-Set verwendet wird, muss über diese Berechtigung für das Konto verfügen. |
Diese Berechtigungen sind für die derzeit aktive Primärrolle erforderlich, nicht für eine Sekundärrolle.
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Nutzungshinweise¶
Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „User“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
Wichtig
Wenn auf die Backup-Richtlinie eine Aufbewahrungssperre angewendet wurde und sich im Backup-Set noch nicht abgelaufene Backups befinden, können Sie das Backup-Set nicht löschen. In diesem Fall müssen Sie warten, bis alle Backups im Set abgelaufen sind. Diese Einschränkung gilt auch für privilegierte Rollen wie ACCOUNTADMIN und für den Snowflake-Support. Aus diesem Grund sollten Sie vorsichtig sein, wenn Sie in einer Backup-Richtlinie eine Aufbewahrungssperre und einen langen Ablaufzeitpunkt angeben.
Beispiele¶
Erstellen Sie ein Backup-Set namens t1_backups für Tabelle t1:
CREATE BACKUP SET t1_backups
FOR TABLE t1;
Erstellen Sie ein Backup-Set t1_backups für Tabelle t1 mit einer Backup-Richtlinie:
CREATE BACKUP SET t1_backups
FOR TABLE t1
WITH BACKUP POLICY hourly_backup_policy;
Erstellen Sie ein Backup-Set s1_backups für Schema s1 mit einer Backup-Richtlinie:
CREATE BACKUP SET s1_backups
FOR SCHEMA s1
WITH BACKUP POLICY hourly_backup_policy;
Erstellen Sie ein Backup-Set d1_backups für Datenbank d1 mit einer Backup-Richtlinie:
CREATE BACKUP SET d1_backups
FOR DATABASE d1
WITH BACKUP POLICY hourly_backup_policy;