CREATE SNAPSHOT¶
Bemerkung
Diese Operation fällt derzeit nicht unter den Service Level, der in Support-Richtlinie und dem Service Level Agreement von Snowflake festgelegt ist.
Erstellt oder ersetzt einen Snapshot eines benannten Volumes aus der angegebenen Dienstinstanz. Der Snapshot wird im aktuellen Schema erstellt.
- Siehe auch:
ALTER SNAPSHOT, DESCRIBE SNAPSHOT, DROP SNAPSHOT, SHOW SNAPSHOTS
Syntax¶
CREATE [ OR REPLACE ] SNAPSHOT [ IF NOT EXISTS ] <name>
FROM SERVICE <service_name>
VOLUME "<volume_name>"
INSTANCE <instance_id>
[ COMMENT = '<string_literal>']
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
Erforderliche Parameter¶
name
Zeichenfolge, die den Bezeichner (d. h. den Namen) für den Snapshot angibt. Der Wert muss für das Schema, in dem der Snapshot erstellt wird, 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.
FROM SERVICE service_name
Gibt den Namen des Dienstes an.
VOLUME "volume_name"
Gibt den Namen des mit dem Dienst verbundenen Volumes an. Snapshots können nur für Blockspeicher-Volumes erstellt werden (und nicht für lokale, Arbeitsspeicher- oder Staging-Volumes).
Bei Volume-Namen wird zwischen Groß- und Kleinschreibung unterschieden. Daher sollten doppelte Anführungszeichen immer verwendet werden, um den entsprechenden Namen in der Dienstspezifikation zu finden.
INSTANCE instance_id
Index der Dienstinstanz. Der Index der Dienstinstanz beginnt bei 0 und der Bereich ist
[0, ..., MAX_INSTANCES - 1]
. Sie können die Funktion SYSTEM$GET_SERVICE_STATUS – Veraltet aufrufen, um die entsprechenden Informationen zu erhalten.
Optionale Parameter¶
COMMENT = 'string_literal'
Gibt einen Kommentar für den Dienst an.
Standard: Kein Wert
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 für Objekte und Spalten.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
CREATE SNAPSHOT |
Schema |
|
OPERATE |
Dienst |
Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.
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 „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.
Beispiele¶
Wenn Sie einen Dienst mit zwei Instanzen (die Anzahl der Container ist nicht relevant) mit einem Volume namens „data“ erstellen, würden Sie einen Snapshot des Volumes, das mit der ersten Instanz verbunden ist, mit der folgenden SQL erstellen:
CREATE SNAPSHOT snapshot_0
FROM SERVICE example_service
VOLUME "data"
INSTANCE 0
COMMENT='new snapshot';
Um einen Snapshot des Volumes zu erstellen, das mit der zweiten Dienstinstanz verbunden ist, geben Sie INSTANCE 1
in der vorhergehenden SQL an.