ALTER SNAPSHOT POLICY

Ändert die Eigenschaften einer Snapshot-Richtlinie Die folgenden Änderungen werden unterstützt:

  • Richtlinie umbenennen.

  • Kommentar zur Richtlinie hinzufügen oder aktualisieren.

  • Zeitplan- und Ablaufeinstellungen für die Richtlinie ändern. Der Zeitplan bestimmt, wie oft Snowflake automatisch ein Backup erstellt und den resultierenden Snapshot zum Snapshot-Set hinzufügt, das der Richtlinie unterliegt. Die Ablauffrist bestimmt, wie lange jeder Snapshot aufbewahrt wird, bevor Snowflake ihn automatisch aus dem zugehörigen Snapshot-Set löscht.

  • Deaktivieren Sie die Eigenschaften der Richtlinie, sodass sie auf ihre Standardwerte zurückgesetzt werden.

Siehe auch:

CREATE SNAPSHOT POLICY, DROP SNAPSHOT POLICY, SHOW SNAPSHOT POLICIES

Syntax

ALTER SNAPSHOT POLICY <name> RENAME TO <new_name>

ALTER SNAPSHOT POLICY <name> SET
  [ COMMENT = '<string_literal>' ]
  [ SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]
  [ EXPIRE_AFTER_DAYS = <days_integer> ]

ALTER SNAPSHOT POLICY <name> UNSET { COMMENT | SCHEDULE | EXPIRE_AFTER_DAYS }
Copy

Parameter

name

Gibt den Bezeichner für die Snapshot-Richtlinie an.

Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

RENAME TO new_name

Gibt den neuen Bezeichner für die Snapshot-Richtlinie an. Dieser muss für Ihr Konto eindeutig sein.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

SET...

Gibt eine oder mehrere Eigenschaften an, die für die Snapshot-Richtlinie festgelegt werden sollen (getrennt durch Leerzeichen, Kommas oder Neue-Zeile-Zeichen):

COMMENT = 'string_literal'

Gibt einen Kommentar zur Snapshot-Richtlinie an.

SCHEDULE = '{ num MINUTE | USING CRON expr time_zone }'

Gibt den Zeitplan für das Erstellen von Snapshots eines Objekts an.

Bemerkung

Der Mindestzeitplan für Snapshots beträgt 60 Minuten.

Jede Richtlinie muss eine SCHEDULE-Klausel, eine EXPIRE_AFTER_DAYS-Klausel oder beides enthalten.

  • USING CRON expr time_zone

    Gibt einen Cron-Ausdruck und eine Zeitzone für den Zeitpunkt an, zu dem ein Snapshot eines Objekts erstellt wird. 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.

    L

    Steht für „last“ (letzte). Bei Verwendung im Wochentag-Feld 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.

    /n

    Gibt die n-te Instanz einer bestimmten Zeiteinheit an. Jeder Zeitanteil wird unabhängig berechnet. Wenn beispielsweise im Monatsfeld 4/3 angegeben ist, ist der Snapshot für April, Juli und Oktober geplant (d. h. alle 3 Monate, beginnend ab dem 4. Monat des Jahres). In den Folgejahren wird derselbe Zeitplan beibehalten. Das heißt, für den Snapshot ist ``4/3``keine:emph:` 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. Das Ändern des TIMEZONE-Parameterwerts für das Konto (oder das Festlegen des Werts auf Benutzer- oder Sitzungsebene) führt nicht zur Änderung der Zeitzone des Snapshots.

    • Der Cron-Ausdruck definiert alle gültigen Ausführungszeiten für den Snapshot. Snowflake versucht, einen Snapshot auf der Grundlage dieses Zeitplans zu erstellen. Eine gültige Laufzeit wird jedoch übersprungen, wenn ein vorheriger Lauf 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 der Snapshot 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' einen Snapshot um 0AM (0:00 Uhr) an jedem 10. bis 20. Tag des Monats und auch an jedem Dienstag oder Donnerstag außerhalb dieser Tage.

  • num MINUTE

    Gibt ein Intervall (in Minuten) der Wartezeit zwischen den Snapshots an. Akzeptiert nur positive ganze Zahlen.

    Unterstützt auch die Syntax num M.

    Um Mehrdeutigkeiten zu vermeiden, wird in den folgenden Fällen eine Basisintervallzeit festgelegt:

    • Wenn das Objekt erstellt wird (mit CREATE SNAPSHOT SET … WITH SNAPSHOT POLICY).

    • Wenn ein anderes Intervall eingerichtet wird (mit ALTER SNAPSHOT SET … APPLY SNAPSHOT POLICY oder ALTER SNAPSHOT POLICY … SET SCHEDULE).

    Die Basisintervallzeit startet den Intervallzähler ab der aktuellen Uhrzeit. Wenn beispielsweise ein INTERVAL-Wert von 10 festgelegt ist und der geplante Snapshot um 9:03 Uhr AM aktiviert ist, dann werden die nächsten Snapshots um 9:13 Uhr AM, 9:23 AM und so weiter erstellt. Beachten Sie, dass wir uns nach besten Kräften bemühen, absolute Präzision sicherzustellen. Dennoch garantieren wir aber nur, dass Snapshots nicht INTERVALvor``10`` ihrem festgelegten Intervall ausgeführt werden (im aktuellen Beispiel könnte es also sein, dass der Snapshot erst um 9:14 Uhr ausgeführt wird, aber definitiv nicht um 9:12 Uhr).

EXPIRE_AFTER_DAYS = days_integer

Gibt die Anzahl der Tage bis zum Ablaufen des Snapshots an. Snowflake löscht automatisch abgelaufene Snapshots. Wenn dieser Parameter nicht angegeben ist, bleiben die Snapshots so lange im Snapshot-Set, bis sie manuell aus dem Set gelöscht werden.

Bemerkung

Wenn die Richtlinie über eine Aufbewahrungssperre verfügt, können Sie den EXPIRE_AFTER_DAYS-Wert erhöhen, aber nicht verringern.

Jede Richtlinie muss eine SCHEDULE-Klausel, eine EXPIRE_AFTER_DAYS-Klausel oder beides enthalten.

UNSET...

Deaktivieren Sie eine der folgenden Eigenschaften für die Snapshot-Richtlinie. Die Eigenschaft wird auf ihren Standardwert zurückgesetzt.

  • COMMENT

  • SCHEDULE

  • EXPIRE_AFTER_DAYS

Bemerkung

Sie können die SCHEDULE-Eigenschaft oder die EXPIRE_AFTER_DAYS-Eigenschaft deaktivieren, aber nicht beide. Sie könnten zum Beispiel die EXPIRE_AFTER_DAYS-Eigenschaft beibehalten, wenn Sie keine neuen Snapshots erstellen möchten, aber vorhandene Snapshots nach einer bestimmten Zeit ablaufen sollen.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Anmerkungen

OWNERSHIP

Die Rolle, die zum Ändern einer Snapshot-Richtlinie verwendet wird, muss die OWNERSHIP-Berechtigung für die Snapshot-Richtlinie haben.

APPLY SNAPSHOT RETENTION LOCK

Die Rolle, die zum Ändern einer Snapshot-Richtlinie mit einer Aufbewahrungssperre verwendet wird, muss über diese Berechtigung für das Konto verfügen.

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.

Beispiele

Hinzufügen eines Kommentars zur Snapshot-Richtlinie hourly_snapshot_policy:

ALTER SNAPSHOT POLICY hourly_snapshot_policy
  SET COMMENT = 'hourly snapshot expires in 90 days';
Copy

Änderung des Zeitplans für Snapshot-Richtlinie every_two_hours:

ALTER SNAPSHOT POLICY every_two_hours SET SCHEDULE = '120 MINUTE';
Copy

Zurücksetzen der EXPIRE_AFTER_DAYS-Eigenschaft auf den Standardwert:

ALTER SNAPSHOT POLICY sample_snapshot_policy UNSET EXPIRE_AFTER_DAYS;
Copy