CREATE WAREHOUSE

Erstellt ein neues virtuelles Warehouse im System.

Die anfängliche Erstellung eines Warehouse kann einige Zeit in Anspruch nehmen, um die Computeressourcen bereitzustellen, es sei denn, das Warehouse wird so eingestellt, dass es zunächst in einem SUSPENDED-Status erstellt wird.

Siehe auch:

ALTER WAREHOUSE, DESCRIBE WAREHOUSE, DROP WAREHOUSE, SHOW WAREHOUSES

Syntax

CREATE [ OR REPLACE ] WAREHOUSE [ IF NOT EXISTS ] <name>
       [ [ WITH ] objectProperties ]
       [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
       [ objectParams ]
Copy

Wobei:

objectProperties ::=
  WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' }
  WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE }
  MAX_CLUSTER_COUNT = <num>
  MIN_CLUSTER_COUNT = <num>
  SCALING_POLICY = { STANDARD | ECONOMY }
  AUTO_SUSPEND = { <num> | NULL }
  AUTO_RESUME = { TRUE | FALSE }
  INITIALLY_SUSPENDED = { TRUE | FALSE }
  RESOURCE_MONITOR = <monitor_name>
  COMMENT = '<string_literal>'
  ENABLE_QUERY_ACCELERATION = { TRUE | FALSE }
  QUERY_ACCELERATION_MAX_SCALE_FACTOR = <num>
Copy
objectParams ::=
  MAX_CONCURRENCY_LEVEL = <num>
  STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>
  STATEMENT_TIMEOUT_IN_SECONDS = <num>
Copy

Erforderliche Parameter

name

Bezeichner für das virtuelle Warehouse. Dieser 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 Details dazu finden Sie unter Anforderungen an Bezeichner.

Optionale Eigenschaften (objectProperties)

WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' }

Gibt den Warehouse-Typ an.

Gültige Werte
  • STANDARD, 'STANDARD'

  • 'SNOWPARK-OPTIMIZED'

Standard

STANDARD

Bemerkung

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

WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE }

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

Gültige Werte

Unterstützte -Werte

Synonyme

XSMALL

'X-SMALL'

SMALL

MEDIUM

LARGE

XLARGE

'X-LARGE'

XXLARGE

X2LARGE, '2X-LARGE'

XXXLARGE

X3LARGE, '3X-LARGE'

X4LARGE

'4X-LARGE'

X5LARGE

'5X-LARGE'

X6LARGE

'6X-LARGE'

Standard

XSMALL

Bemerkung

  • Die Größen XSMALL, SMALL, X5LARGE und X6LARGE unterstützen keine Snowpark-optimierten Warehouses. Die Standardgröße für Snowpark-optimierte Warehouses ist MEDIUM.

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

MAX_CLUSTER_COUNT = num

Gibt die maximale Anzahl von Clustern für ein Multi-Cluster-Warehouse an. Für ein Einzel-Cluster-Warehouse ist dieser Wert immer 1.

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, stets einen Wert größer als 1 festzulegen, um die Hochverfügbarkeit und optimale Leistung eines Multi-Cluster-Warehouses zu erhalten. Dies trägt auch dazu bei, die Kontinuität im unwahrscheinlichen Fall eines Clusterausfalls sicherzustellen.

MIN_CLUSTER_COUNT = num

Gibt die minimale Anzahl von Clustern für ein Multi-Cluster-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 sein muss als MAX_CLUSTER_COUNT:

  • 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 }

Legt die Richtlinie für das automatische Starten und Herunterfahren von Clustern in einem Multi-Cluster-Warehouse fest, das im Modus „Automatische Skalierung“ ausgeführt wird.

Gültige Werte
  • STANDARD: Minimiert Warteschlangen durch Starten von Clustern.

  • ECONOMY: Spart Credits, indem vorzugsweise dafür gesorgt wird, dass aktive Cluster voll ausgelastet bleiben.

Eine ausführlichere Beschreibung finden Sie unter Einstellen der Skalierungsrichtlinie für ein Multi-Cluster-Warehouse.

Standard

STANDARD

AUTO_SUSPEND = { num | NULL }

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

Gültige Werte

Beliebige Ganzzahl 0 oder größer, oder NULL:

  • 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 0 oder 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 auf 0 oder NULL 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.

AUTO_RESUME = { TRUE | FALSE }

Gibt an, ob ein Warehouse automatisch fortgesetzt werden soll, wenn ihm eine SQL-Anweisung (z. B. Abfrage) übermittelt 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 }

Gibt an, ob das Warehouse anfangs im Status „Angehalten“ erstellt wird.

Gültige Werte
  • TRUE: Das Warehouse wird erstellt, aber angehalten.

  • FALSE: Das Warehouse wird ausgeführt, nachdem es erstellt wird.

Standard

FALSE

RESOURCE_MONITOR = monitor_name

Gibt den Namen 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 = 'string_literal'

Gibt einen Kommentar für das Warehouse an.

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.

Query Acceleration-Eigenschaften

ENABLE_QUERY_ACCELERATION = { TRUE | FALSE }

Gibt an, ob der Abfragebeschleunigungsdienst für Abfragen aktiviert werden soll, die auf dieses Warehouse für Computeressourcen angewiesen sind.

Gültige Werte
  • TRUE aktiviert Query Acceleration

  • FALSE deaktiviert Query Acceleration

Standard

FALSE: Query Acceleration ist deaktiviert

QUERY_ACCELERATION_MAX_SCALE_FACTOR = num

Gibt den maximalen Skalierungsfaktor für das Mieten von Computeressourcen für die Abfragebeschleunigung an. Der Skalierungsfaktor wird als Multiplikator auf Basis der Warehouse-Größe verwendet.

Wenn QUERY_ACCELERATION_MAX_SCALE_FACTOR auf 0 gesetzt wird, entfällt dieses Limit und die Abfragen können so viele Ressourcen mieten, wie nötig und verfügbar sind, um die Abfrage zu bedienen.

Unabhängig vom Wert für QUERY_ACCELERATION_MAX_SCALE_FACTOR ist die Menge der verfügbaren Computeressourcen für die Abfragebeschleunigung durch die verfügbaren Ressourcen des Dienstes und die Anzahl der von weiteren gleichzeitigen Anforderungen begrenzt. Weitere Informationen dazu finden Sie unter Anpassen des Skalierungsfaktors.

Gültige Werte

0 bis 100

Standard

8

Optionale Parameter (objectParams)

MAX_CONCURRENCY_LEVEL = num

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

Eine detaillierte Beschreibung dieses Parameters finden Sie unter MAX_CONCURRENCY_LEVEL.

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = num

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.

Eine detaillierte Beschreibung dieses Parameters finden Sie unter STATEMENT_QUEUED_TIMEOUT_IN_SECONDS.

STATEMENT_TIMEOUT_IN_SECONDS = num

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.

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 WAREHOUSE

Konto

Only the SYSADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einem bestimmten Satz 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

  • Durch das Erstellen eines virtuellen Warehouses wird es automatisch als aktives/aktuelles Warehouse für die aktuelle Sitzung festgelegt (entspricht der Verwendung des Befehls USE WAREHOUSE für das Warehouse).

  • 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.

  • Die Verwendung von OR REPLACE ist gleichbedeutend mit der Verwendung von DROP WAREHOUSE auf dem vorhandenen Warehouse und dem anschließenden Erstellen eines neuen Warehouses mit demselben Namen.

    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.

    Alle Abfragen, die gerade auf dem gelöschten Warehouse ausgeführt werden, werden abgebrochen.

  • Das erstmalige Erstellen und das Fortsetzen eines Snowpark-optimierten virtuellen Warehouses können länger dauern als bei Standard-Warehouses.

  • Snowpark-optimierte Warehouses werden bei den Warehouse-Größen XSMall, SMALL, X5LARGE und X6LARGE nicht unterstützt.

Beispiele

Erstellen Sie ein extra großes Warehouse:

CREATE OR REPLACE WAREHOUSE my_wh WITH WAREHOUSE_SIZE='X-LARGE';
Copy

Erstellen Sie ein großes Warehouse im angehaltenen Status:

CREATE OR REPLACE WAREHOUSE my_wh WAREHOUSE_SIZE=LARGE INITIALLY_SUSPENDED=TRUE;
Copy