Kategorien:

DDL für Warehouses und Ressourcenmonitore

ALTER WAREHOUSE

Unterbricht oder setzt ein virtuelles Warehouse fort oder bricht alle Abfragen (und andere SQL-Anweisungen) für ein Warehouse ab. Kann auch verwendet werden, um die Eigenschaften eines Warehouses umzubenennen oder zu setzen/auszusetzen.

Siehe auch:

CREATE WAREHOUSE , SHOW WAREHOUSES

Syntax

ALTER WAREHOUSE [ IF EXISTS ] [ <name> ] { SUSPEND | RESUME [ IF SUSPENDED ] }

ALTER WAREHOUSE [ IF EXISTS ] [ <name> ] ABORT ALL QUERIES

ALTER WAREHOUSE [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER WAREHOUSE [ IF EXISTS ] <name> SET [ objectProperties ]
                                         [ objectParams ]

ALTER WAREHOUSE [ IF EXISTS ] <name> UNSET { <property_name> | <param_name> } [ , ... ]

Wobei:

objectProperties ::=
  WAREHOUSE_SIZE = XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE
  MAX_CLUSTER_COUNT = <num>
  MIN_CLUSTER_COUNT = <num>
  SCALING_POLICY = STANDARD | ECONOMY
  AUTO_SUSPEND = <num>
  AUTO_RESUME = TRUE | FALSE
  RESOURCE_MONITOR = <monitor_name>
  COMMENT = '<string_literal>'
objectParams ::=
  MAX_CONCURRENCY_LEVEL = <num>
  STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>
  STATEMENT_TIMEOUT_IN_SECONDS = <num>

Eigenschaften/Parameter

Name

Gibt den Bezeichner für das zu ändernde Warehouse 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 Details dazu finden Sie unter Anforderungen an Bezeichner.

Bemerkung

Ein Warehouse-Bezeichner ist erforderlich oder optional, je nach folgender Situation:

  • Wenn in der Sitzung aktuell ein Warehouse verwendet wird kann beim Wiederaufnehmen/Stoppen eines Warehouses oder beim Abbrechen von Abfragen an ein Warehouse der Bezeichner weggelassen werden.

  • Wenn Sie ein Warehouse umbenennen oder andere Operationen für ein Warehouse durchführen, muss der Bezeichner angegeben werden.

SUSPEND | RESUME [ IF SUSPENDED ]

Gibt die Aktion an, die für das Warehouse durchgeführt werden soll:

  • SUSPEND entfernt alle Serverknoten von einem Warehouse und versetzt das Warehouse in den Status „Angehalten“.

  • RESUME [ IF SUSPENDED ] bringt ein angehaltenes Warehouse durch die Bereitstellung von Servern in den Status „In Ausführung“.

    Die optionale IF SUSPENDED-Klausel gibt an, ob der Befehl ALTER WAREHOUSE erfolgreich abgeschlossen wird, wenn ein bereits aktives Warehouse fortgesetzt werden soll:

    • Wenn der Befehl weggelassen wird, schlägt der Befehl fehl und gibt einen Fehler zurück, wenn das Warehouse bereits aktiv ist.

    • Wenn der Befehl angegeben wird, wird er erfolgreich abgeschlossen, auch wenn das Warehouse aktiv ist.

ABORT ALL QUERIES

Bricht alle Abfragen ab, die derzeit im Warehouse ausgeführt werden oder in der Warteschlange stehen.

RENAME TO neuer_Name

Gibt einen neuen Bezeichner für das Warehouse an; dieser muss für Ihr Konto eindeutig sein.

Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.

SET ...

Gibt Eigenschafte bzw. Parameter an, die für das Warehouse festgelegt werden sollen (getrennt durch Leerzeichen, Kommas oder neue Zeilen):

WAREHOUSE_SIZE = Zeichenfolgenkonstante

Gibt die Größe des virtuellen Warehouses an. Die Größe bestimmt über die Anzahl der Server in jedem Cluster im Warehouse und damit über die Anzahl der verbrauchten Credits während des Warehouse-Betriebs.

Gültige Werte
  • XSMALL , 'X-SMALL'

  • SMALL

  • MEDIUM

  • LARGE

  • XLARGE , 'X-LARGE'

  • XXLARGE , X2LARGE , '2X-LARGE'

  • XXXLARGE , X3LARGE , '3X-LARGE'

  • X4LARGE , '4X-LARGE'

Standard

XLARGE

Bemerkung

Um einen Wert zu verwenden, der einen Bindestrich enthält (z. B. '2X-LARGE'), müssen Sie den Wert wie dargestellt in einfache Anführungszeichen setzen.

MAX_CLUSTER_COUNT = Zahl

Gibt die maximale Anzahl von Serverclustern für das Warehouse an.

Gültige Werte

1 bis 10

Wenn Sie einen Wert größer als 1 angeben, handelt es sich bei dem Warehouse um ein Multi-Cluster-Warehouse. Der Wert kann jedoch nur in der Snowflake Enterprise Edition (oder höher) auf einen höheren Wert gesetzt werden.

Weitere Informationen dazu finden Sie unter Multi-Cluster-Warehouses.

Standard

1 (Einzelcluster-Warehouse)

Tipp

Bei der Snowflake Enterprise Edition (oder höher) empfehlen wir, den Wert stets auf größer als 1 zu setzen, um die Hochverfügbarkeit und optimale Leistung des Warehouses zu erhalten. Dies trägt auch dazu bei, die Kontinuität im unwahrscheinlichen Fall eines Clusterausfalls sicherzustellen.

MIN_CLUSTER_COUNT = Zahl

Gibt die minimale Anzahl von Serverclustern für das Warehouse an (gilt nur für Multi-Cluster-Warehouses).

Gültige Werte

1 bis 10

Beachten Sie jedoch, dass MIN_CLUSTER_COUNT gleich oder kleiner als MAX_CLUSTER_COUNT sein muss:

  • Wenn beide Parameter gleich sind, wird das Warehouse im Modus Maximiert ausgeführt.

  • Wenn MIN_CLUSTER_COUNT kleiner als MAX_CLUSTER_COUNT ist, wird das Warehouse im Modus Automatische Skalierung ausgeführt.

Weitere Informationen dazu finden Sie unter Multi-Cluster-Warehouses.

Standard

1

SCALING_POLICY = STANDARD | ECONOMY

Objektparameter, der die Richtlinie für das automatische Starten und Beenden von Clustern in einem Mehr-Cluster-Warehouse im Modus „Automatische Skalierung“ angibt.

Eine detaillierte Beschreibung dieses Parameters finden Sie unter Einstellen der Skalierungsrichtlinie für ein Multi-Cluster-Warehouse.

AUTO_SUSPEND = Zahl | NULL

Gibt die Anzahl der Sekunden von Inaktivität an, nach der ein Warehouse automatisch angehalten wird.

Gültige Werte

Eine beliebige Zahl größer als 59 oder NULL:

  • Das Setzen eines Wertes auf kleiner als 59 hat keine Auswirkungen, da die Mindestdauer, die ein Warehouse aktiv sein kann, bevor es angehalten wird, 1 Minute beträgt.

  • Wenn Sie einen Wert von NULL wählen, wird das Warehouse niemals angehalten.

Standard

600 (das Warehouse wird nach 10 Minuten Inaktivität automatisch angehalten)

Wichtig

Ein Festlegen des Werts AUTO_SUSPEND auf NULL wird nicht empfohlen, es sei denn, für Ihre Abfrageworkloads ist ein kontinuierlich laufendes Warehouse erforderlich. Beachten Sie, dass dies zu einem erheblichen Verbrauch von Credits (und entsprechenden Gebühren) führen kann, insbesondere bei größeren Warehouses.

Weitere Details dazu finden Sie unter Hinweise zu Warehouses.

AUTO_RESUME = TRUE | FALSE

Gibt an, ob ein Warehouse automatisch fortgesetzt werden soll, wenn ihm eine SQL-Anweisung (z. B. Abfrage) übermittelt wird. Wenn FALSE, startet das Warehouse erst wieder, wenn es mit ALTER WAREHOUSE oder über die Snowflake-Weboberfläche explizit fortgesetzt wird.

Gültige Werte
  • TRUE: Das Warehouse wird fortgesetzt, wenn eine neue Abfrage gesendet wird.

  • FALSE: Das Warehouse startet erst wieder, wenn es mit ALTER WAREHOUSE oder über die Snowflake-Weboberfläche explizit fortgesetzt wird.

Standard

TRUE (das Warehouse wird automatisch fortgesetzt, wenn eine SQL-Anweisung an das Warehouse übermittelt wird)

INITIALLY_SUSPENDED = TRUE | FALSE

Entfällt beim Ändern eines Warehouse

RESOURCE MONITOR = RM-Name

Gibt den Bezeichner eines Ressourcenmonitors an, der dem Warehouse explizit zugeordnet ist. Wenn ein Ressourcenmonitor explizit einem Warehouse zugeordnet ist, steuert der Monitor die monatlichen Credits, die vom Warehouse (und allen anderen Warehouses, denen der Monitor zugeordnet ist) verbraucht werden.

Gültige Werte

Beliebiger vorhandener Ressourcenmonitor.

Weitere Details dazu finden Sie unter Verwenden von Ressourcenmonitoren.

Standard

Kein Wert (dem Warehouse ist kein Ressourcenmonitor zugeordnet)

Tipp

Verwenden Sie den Befehl SHOW RESOURCE MONITORS, um alle Ressourcenmonitore und ihre Bezeichner anzuzeigen.

COMMENT = 'Zeichenfolgenliteral'

Fügt einen Kommentar hinzu oder überschreibt einen vorhandenen Kommentar für das Warehouse.

MAX_CONCURRENCY_LEVEL = Zahl

Objektparameter, der den Parallelitätsgrad für SQL-Anweisungen (d. h. Abfragen und DML) angibt, die von einem Warehouse-Cluster ausgeführt werden. Wenn der Grad erreicht wird:

  • Bei einem Single-Cluster-Warehouse oder einem Multi-Cluster-Warehouse (im Modus „Maximiert“) werden zusätzliche Anweisungen in die Warteschlange gestellt, bis Ressourcen verfügbar sind.

  • Bei einem Multi-Cluster-Warehouse (im Modus „Automatische Skalierung“) werden zusätzliche Cluster gestartet.

Dieser Parameter kann zusammen mit STATEMENT_QUEUED_TIMEOUT_IN_SECONDS verwendet werden, um sicherzustellen, dass ein Warehouse niemals in Rückstand gerät.

Eine detaillierte Beschreibung dieses Parameters finden Sie unter MAX_CONCURRENCY_LEVEL.

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = Zahl

Objektparameter, der die Zeit in Sekunden angibt, die eine SQL-Anweisung (Abfrage, DDL, DML usw.) in der Warteschlange eines Warehouse verbleiben kann, bevor sie vom System abgebrochen wird.

Dieser Parameter kann zusammen mit MAX_CONCURRENCY_LEVEL verwendet werden, um sicherzustellen, dass ein Warehouse niemals in Rückstand gerät.

Eine detaillierte Beschreibung dieses Parameters finden Sie unter STATEMENT_QUEUED_TIMEOUT_IN_SECONDS.

STATEMENT_TIMEOUT_IN_SECONDS = Zahl

Objektparameter, der die Zeit in Sekunden angibt, nach der eine aktive SQL-Anweisung (Abfrage, DDL, DML usw.) vom System abgebrochen wird.

Eine detaillierte Beschreibung dieses Parameters finden Sie unter STATEMENT_TIMEOUT_IN_SECONDS.

UNSET ...

Gibt eine (oder mehrere) Eigenschaften und/oder Parameter an, die für die Datenbank gelöscht werden sollen, wodurch sie auf die Standardwerte zurückgesetzt werden:

  • Eigenschaftsname

  • Parametername

Sie können mehrere Eigenschaften/Parameter mit einer einzigen ALTER-Anweisung zurücksetzen. Dabei müssen die einzelne Eigenschaften/Parameter aber durch ein Komma getrennt werden. Beim Zurücksetzen einer Eigenschaft/Parameter geben Sie nur den Namen an. Es wird kein Wert benötigt.

Bemerkung

UNSET kann zum Deaktivieren aller Eigenschaften und Parameter für ein Warehouse verwendet werden, mit Ausnahme von WAREHOUSE_SIZE, die nur mit SET geändert werden kann.

Nutzungshinweise

  • Ein Warehouse muss nicht angehalten werden, um seine Eigenschaften (einschließlich Größe) festzulegen oder zu ändern.

  • Wenn die Warehouse-Größe geändert wird, hat die Änderung keine Auswirkungen auf Anweisungen, einschließlich Abfragen, die gerade ausgeführt werden. Nach Abschluss der Anweisungen wird die neue Größe für alle nachfolgenden Anweisungen verwendet.

  • Durch das Aussetzen eines Warehouse werden keine Abfragen abgebrochen, die vom Warehouse zum Zeitpunkt der Aussetzung bearbeitet werden. Stattdessen vervollständigt das Warehouse die Abfragen und fährt dann die Server herunter, auf denen die Abfragen verarbeitet werden. Während dieses Zeitraums befinden sich das Warehouse und seine Server im Stilllegen-Modus. Wenn alle Server heruntergefahren sind, ändert sich der Status des Warehouses in „Angehalten“.

Beispiele

Warehouse wh1 in wh2 umbenennen:

ALTER WAREHOUSE IF EXISTS wh1 RENAME TO wh2;

Setzen Sie ein Warehouse namens my_wh fort, und ändern Sie dann die Größe des aktiven Warehouses:

ALTER WAREHOUSE my_wh RESUME;

ALTER WAREHOUSE my_wh SET warehouse_size=MEDIUM;