- Kategorien:
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:
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
bis10
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
bis10
Beachten Sie jedoch, dass
MIN_CLUSTER_COUNT
gleich oder kleiner alsMAX_CLUSTER_COUNT
sein muss:Wenn beide Parameter gleich sind, wird das Warehouse im Modus Maximiert ausgeführt.
Wenn
MIN_CLUSTER_COUNT
kleiner alsMAX_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 Multi-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
Jede Ganzzahl größer als
0
oderNULL
:Das Festlegen eines Wertes kleiner als
60
ist erlaubt, führt aber möglicherweise nicht zu dem erwünschten/erwarteten Verhalten, weil der Hintergrundprozess, der ein Warehouse anhält, etwa alle 60 Sekunden ausgeführt wird und daher nicht dazu gedacht ist, eine genaue Kontrolle über das Anhalten des Warehouses zu ermöglichen.Wenn Sie einen Wert von
NULL
festlegen, wird das Warehouse niemals angehalten.
- Standard
600
(das Warehouse wird nach 10 Minuten Inaktivität automatisch angehalten)
Wichtig
Das Einstellen von
AUTO_SUSPEND
aufNULL
wird nicht empfohlen, es sei denn, für Ihre Abfrageworkloads ist ein kontinuierlich ausgeführtes 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 Warehouses 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; jedoch müssen einzelne Eigenschaften/Parameter 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 vonWAREHOUSE_SIZE
, die nur mitSET
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;