ALTER WAREHOUSE

仮想ウェアハウスを一時停止または再開するか、ウェアハウスに対するすべてのクエリ(およびその他の SQL ステートメント)を中止します。ウェアハウスのプロパティの名前変更または設定/設定解除にも使用できます。

こちらもご参照ください。

CREATE WAREHOUSEDESCRIBE WAREHOUSEDROP WAREHOUSESHOW WAREHOUSES

構文

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> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER WAREHOUSE [ IF EXISTS ] <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

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

条件:

objectProperties ::=
  WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' }
  WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE }
  WAIT_FOR_COMPLETION = { TRUE | FALSE }
  MAX_CLUSTER_COUNT = <num>
  MIN_CLUSTER_COUNT = <num>
  SCALING_POLICY = { STANDARD | ECONOMY }
  AUTO_SUSPEND = { <num> | NULL }
  AUTO_RESUME = { 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

プロパティ/パラメーター

name

変更するウェアハウスの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

詳細については、 識別子の要件 をご参照ください。

注釈

ウェアハウス識別子は、以下に応じて必須か任意のいずれかとなります。

  • ウェアハウスを再開/一時停止する、またはウェアハウスのクエリを中止する際、ウェアハウスが現在セッションで使用されている場合、識別子を省略できます。

  • ウェアハウスの名前を変更するか、ウェアハウスで他の操作を実行する場合、識別子を指定する 必要があります

{ SUSPEND | RESUME [ IF SUSPENDED ] }

ウェアハウスで実行するアクションを指定します。

  • SUSPEND はウェアハウスからすべてのコンピュートノードを削除し、ウェアハウスを「中断」状態にします。

  • RESUME [ IF SUSPENDED ] は、コンピューティングリソースをプロビジョニングすることにより、一時停止したウェアハウスを使用可能な「実行中」状態にします。

    オプションの IF SUSPENDED 句は、すでに実行されているウェアハウスを再開するときに ALTER WAREHOUSE コマンドが正常に完了するかどうかを指定します。

    • 省略すると、ウェアハウスが既に実行されている場合、コマンドは失敗し、エラーを返します。

    • 指定すると、ウェアハウスが実行中かどうかに関係なく、コマンドは正常に完了します。

ABORT ALL QUERIES

ウェアハウスで現在実行中またはキューに入っているすべてのクエリを中止します。

RENAME TO new_name

ウェアハウスの新しい識別子を指定します。アカウントに対して一意である必要があります。

詳細については、 識別子の要件 をご参照ください。

SET ...

ウェアハウスに設定する1つ以上のプロパティ/パラメーターを指定します(空白、コンマ、または改行で区切られます)。

WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' }

ウェアハウスのタイプを指定します。

有効な値
  • STANDARD'STANDARD'

  • 'SNOWPARK-OPTIMIZED'

デフォルト

STANDARD

注釈

ハイフンを含む値('SNOWPARK-OPTIMIZED')を使用するには、示されているように値を一重引用符で囲む必要があります。

WAREHOUSE_SIZE = string_constant

仮想ウェアハウスのサイズを指定します。サイズは、各クラスター内のコンピューティングリソースの量を決定するため、ウェアハウスの稼働中に消費されるクレジットの数を決定します。

詳細については、 ウェアハウスのサイズ変更 をご参照ください。

有効な値
  • XSMALL'X-SMALL'

  • SMALL

  • MEDIUM

  • LARGE

  • XLARGE'X-LARGE'

  • XXLARGEX2LARGE'2X-LARGE'

  • XXXLARGEX3LARGE'3X-LARGE'

  • X4LARGE'4X-LARGE'

  • X5LARGE'5X-LARGE'

  • X6LARGE'6X-LARGE'

デフォルト

XLARGE

注釈

  • XSMALL、 SMALL、 X5LARGE、および X6LARGE サイズは、Snowpark用に最適化されたウェアハウスをサポートしていません。Snowparkに最適化されたウェアハウスのデフォルトサイズは MEDIUM です。

  • ハイフンを含む値(例えば、 '2X-LARGE')を使用するには、示されているように値を一重引用符で囲む必要があります。

  • サイズ変更が完了するまで、 ALTER WAREHOUSE コマンドがただちに戻り値を返すことをブロックするには、 WAIT_FOR_COMPLETION パラメーターを追加します。

WAIT_FOR_COMPLETION = { TRUE | FALSE }

ウェアハウスのサイズを変更する場合は、このパラメーターを使用して、サイズ変更がすべてのコンピューティングリソースのプロビジョニングを完了するまで、 ALTER WAREHOUSE コマンドの戻り値をブロックできます。より大きなウェアハウスにサイズ変更するときにコマンドの戻り値をブロックすると、コンピューティングリソースが完全にプロビジョニングされ、ウェアハウスがすべての新しいリソースを使用してクエリを実行する準備ができたことを通知できます。

有効な値
  • TRUE: ALTER WAREHOUSE コマンドは、ウェアハウスのサイズ変更が完了するまでブロックされます。

  • FALSE: ウェアハウスのサイズ変更が完了する前に、 ALTER WAREHOUSE コマンドは戻り値をただちに返します。

デフォルト

FALSE

注釈

  • このパラメーターの値は永続化されないため、このコマンドが戻り値を返す前にウェアハウスのサイズ変更を完了する場合は、実行のたびに TRUE に設定する必要があります。

  • TRUE に設定して ALTER WAREHOUSE コマンドを中止すると、待機のみが中止され、ウェアハウスのサイズ変更が行われます。ウェアハウスのサイズを元のサイズに戻すには、別の ALTER WAREHOUSE コマンドを実行する必要があります。

  • このパラメーターは、 WAREHOUSE_SIZE パラメーターと一緒に使用する必要があります。そうしないと、例外がスローされます。

MAX_CLUSTER_COUNT = num

マルチクラスターウェアハウスに対するクラスターの最大数を指定します。単一クラスターのウェアハウスの場合、この値は常に 1 です。

有効な値

110

1 より大きい値を指定すると、ウェアハウスがマルチクラスターウェアハウスであることを示します。ただし、値は Snowflake Enterprise Edition (またはそれ以上)のみで、より高い値に設定できます。

詳細については、 マルチクラスターウェアハウス をご参照ください。

デフォルト

1 (単一クラスターウェアハウス)

ちなみに

Snowflake Enterprise Edition(またはそれ以上)の場合、ウェアハウス(マルチクラスター)の高可用性と最適なパフォーマンスを維持するために、常に 1 より大きい値を設定することをお勧めします。また、これにより、万一クラスターに障害が発生した場合の継続性を確保できます。

MIN_CLUSTER_COUNT = num

マルチクラスターウェアハウスに対するクラスターの最小数を指定します。

有効な値

110

ただし、 MIN_CLUSTER_COUNTMAX_CLUSTER_COUNT 以下でなければならないことに注意してください。

  • 両方のパラメーターが等しい場合、ウェアハウスは 最大化 モードで実行されます。

  • MIN_CLUSTER_COUNTMAX_CLUSTER_COUNT 未満の場合、ウェアハウスは 自動スケール モードで実行されます。

詳細については、 マルチクラスターウェアハウス をご参照ください。

デフォルト

1

SCALING_POLICY = { STANDARD | ECONOMY }

自動スケールモードで実行されているマルチクラスターウェアハウス内のクラスターを自動的に開始およびシャットダウンするためのポリシーを指定するオブジェクトパラメーター。

このパラメーターの詳細については、 マルチクラスターウェアハウスのスケーリングポリシーの設定 をご参照ください。

AUTO_SUSPEND = { num | NULL }

ウェアハウスが自動的に中断されるまでの非アクティブの秒数を指定します。

有効な値

任意の整数 0 以上、または NULL:

  • 60 未満の値を設定することは許可されていますが、ウェアハウスを一時停止するバックグラウンドプロセスは約60秒ごとに実行されるため、望ましい、または期待される動作にならない場合があります。したがって、ウェアハウスの一時停止を正確に制御できるようにすることを目的としていません。

  • 0 または NULL 値を設定すると、ウェアハウスが一時停止されることはなくなります。

デフォルト

600 (ウェアハウスは、10分の非アクティブ後に自動的に一時停止します)

重要

クエリのワークロードが継続的に実行されるウェアハウスを必要としない限り、 AUTO_SUSPEND の値を 0 または NULL に設定することは推奨 しません。これにより、特に大規模なウェアハウスでは、クレジット(および対応する料金)が大幅に消費されることに注意してください。

詳細については、 ウェアハウスに関する考慮事項 をご参照ください。

AUTO_RESUME = { TRUE | FALSE }

SQL ステートメント(クエリなど)の送信時にウェアハウスを自動的に再開するかどうかを指定します。 FALSE の場合、ウェアハウスは ALTER WAREHOUSE を使って、またはSnowflakeウェブインターフェイス経由で明示的に再開された場合にのみ再起動します。

有効な値
  • TRUE: 新しいクエリが送信されると、ウェアハウスが再開します。

  • FALSE :ウェアハウスは、 ALTER WAREHOUSE またはSnowflakeウェブインターフェイスを使用して明示的に再開された場合にのみ再開します。

デフォルト

TRUE (ウェアハウスは SQL ステートメントが送信されると自動的に再開します)

INITIALLY_SUSPENDED = { TRUE | FALSE }

ウェアハウスを変更する場合は適用されません

RESOURCE_MONITOR = monitor_name

ウェアハウスに明示的に割り当てられているリソースモニターの識別子を指定します。リソースモニターがウェアハウスに明示的に割り当てられている場合、モニターはウェアハウス(およびモニターが割り当てられている他のすべてのウェアハウス)が使用する月間クレジットを制御します。

有効な値

既存のリソースモニター。

詳細については、 リソースモニターの操作 をご参照ください。

デフォルト

値なし(ウェアハウスにリソースモニターが割り当てられていない)

ちなみに

すべてのリソースモニターとその識別子を表示するには、 SHOW RESOURCE MONITORS コマンドを使用します。

COMMENT = 'string_literal'

ウェアハウスにコメントを追加するか、既存のコメントを上書きします。

MAX_CONCURRENCY_LEVEL = num

ウェアハウスクラスターによって実行されるSQLステートメント(つまり、クエリおよびDML)の並行性レベルを指定するオブジェクトパラメーター。レベルに達したとき:

  • 単一クラスターウェアハウスまたはマルチクラスターウェアハウス(最大化モード)の場合、リソースが使用可能になるまで追加のステートメントがキューに入れられます。

  • マルチクラスターウェアハウスの場合(自動スケールモード)、追加のクラスターが開始されます。

このパラメーターを STATEMENT_QUEUED_TIMEOUT_IN_SECONDS と組み合わせて使用すると、ウェアハウスがバックログされることがなくなります。

このパラメーターの詳細については、 MAX_CONCURRENCY_LEVEL をご参照ください。

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = num

SQLステートメント(クエリ、DDL、DMLなど)がシステムによりキャンセルされる前に、ウェアハウスのキューに入れることができる時間を秒単位で指定するオブジェクトパラメーター。

このパラメーターを MAX_CONCURRENCY_LEVEL と組み合わせて使用すると、ウェアハウスがバックログされることがなくなります。

このパラメーターの詳細については、 STATEMENT_QUEUED_TIMEOUT_IN_SECONDS をご参照ください。

STATEMENT_TIMEOUT_IN_SECONDS = num

実行中のSQLステートメント(クエリ、DDL、DMLなど)がシステムによってキャンセルされるまでの時間を秒単位で指定するオブジェクトパラメーター。

このパラメーターの詳細については、 STATEMENT_TIMEOUT_IN_SECONDS をご参照ください。

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

タグ の名前とタグ文字列の値を指定します。

タグ値は常に文字列であり、タグ値の最大文字数は256です。

ステートメントにあるタグの指定の詳細については、 オブジェクトおよび列のタグクォータ をご参照ください。

ENABLE_QUERY_ACCELERATION = { TRUE | FALSE }

コンピューティングリソースをこのウェアハウスに依存しているクエリに対して、 Query Acceleration Service を有効にするかどうかを指定します。

有効な値
  • TRUE Query Accelerationを有効にします

  • FALSE Query Accelerationを無効にします

デフォルト

FALSE: Query Accelerationが無効になっています

QUERY_ACCELERATION_MAX_SCALE_FACTOR = num

クエリアクセラレーション用のコンピューティングリソースをリースするための最大スケールファクターを指定します。スケールファクターは、 ウェアハウスサイズ に基づく乗数として使用されます。

QUERY_ACCELERATION_MAX_SCALE_FACTOR を0に設定すると、制限がなくなり、クエリが必要な数のリソースをリースし、クエリの処理に使用できるようになります。

QUERY_ACCELERATION_MAX_SCALE_FACTOR の値に関係なく、クエリアクセラレーションに使用できるコンピューティングリソースの量は、サービスで使用可能なリソースと、他の同時リクエストの数によって制限されます。詳細については、 スケールファクターの調整 をご参照ください。

有効な値

0 から 100

デフォルト

8

UNSET ...

データベースに対する1つ(または複数)のプロパティおよび/またはパラメーターの設定解除を指定します。これにより、デフォルトにリセットされます。

  • property_name

  • param_name

    • TAG tag_name [ , tag_name ... ]

単一の ALTER ステートメントで複数のプロパティ/パラメーターをリセットできます。ただし、各プロパティ/パラメーターはコンマで区切る 必要があります 。また、プロパティ/パラメーターをリセットするときは、名前のみを指定します。値は必要ありません。

注釈

UNSET はウェアハウスのすべてのプロパティとパラメーターの設定を解除するために使用できますが、 WAREHOUSE_SIZE のみは 例外 で、 SET を使ってのみ変更できます。

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、 最低 1 つ の次の 権限 が必要です。

権限

オブジェクト

メモ

APPLY

タグ

ウェアハウスにタグを設定できるようにします。

MODIFY

ウェアハウス

サイズの変更など、ウェアハウスのプロパティを変更できるようにします。リソースモニターにウェアハウスを割り当てるために必要です。ACCOUNTADMIN ロールのみが、ウェアハウスをリソースモニターに割り当てることができます。

MONITOR

ウェアハウス

ウェアハウスで実行された現在および過去のクエリと、ウェアハウスでの使用状況の統計を表示できるようにします。

OPERATE

ウェアハウス

ウェアハウスの状態変更(停止、開始、中断、再開)、現在および過去にウェアハウスで実行されたクエリの表示、および実行中のクエリの中止をできるようにします。

USAGE

ウェアハウス

仮想ウェアハウスを使用できるようにし、その結果として、ウェアハウスでクエリを実行します。SQL ステートメント(例えば、クエリ)が送信されたときにウェアハウスが自動再開するように構成されている場合、ウェアハウスは自動的に再開してステートメントを実行します。

ちなみに

MANAGE WAREHOUSES グローバル権限を付与することは、アカウント内のすべてのウェアハウスに対する MODIFY、 MONITOR、 OPERATE 権限を付与することと同じです。この権限をウェアハウスの管理を目的とするロールに付与すると、Snowflakeのアクセス制御管理を簡素化できます。

詳細については、 ウェアハウス管理の委託 をご参照ください。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

  • ウェアハウスは、サイズなどのプロパティ(タイプを除く)を設定または変更するために中断する必要は ありません

  • ウェアハウスタイプを変更するには、ウェアハウスを suspended 状態にする必要があります。次のステートメントを実行して、ウェアハウスを中断します。

    ALTER WAREHOUSE mywh SUSPEND;
    
    Copy
  • ウェアハウスサイズが変更されても、その変更はクエリを含む現在実行中のステートメントには影響しません。ステートメントが完了し、コンピューティングリソースが完全にプロビジョニングされると、後続のすべてのステートメントに新しいサイズが使用されます。

  • ウェアハウスを一時停止しても、その時点でウェアハウスにより処理されているクエリは中止 されません。代わりに、ウェアハウスはクエリを完了し、クエリの処理に使用されたコンピューティングリソースをシャットダウンします。この期間中、ウェアハウスは 静止 モードになります。すべてのコンピューティングリソースがシャットダウンされると、ウェアハウスの状況は「一時停止中」に変わります。

  • メタデータについて。

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

  • Snowpark用に最適化された仮想ウェアハウスの再開には、標準のウェアハウスよりも時間がかかる場合があります。

  • Snowpark用に最適化されたウェアハウスは、 Query Acceleration をサポートしていません。

  • Snowpark用に最適化されたウェアハウスは、 XSMallSMALLX5LARGE、または X6LARGE のウェアハウスサイズではサポートされていません。

  • IF EXISTS 句を指定するには、使用中のロールまたはアクティブなロール階層内のロールがウェアハウスに対する適切な ウェアハウス権限 を持っている必要があります。

ウェアハウスの名前を wh1 から wh2 に変更します。

ALTER WAREHOUSE IF EXISTS wh1 RENAME TO wh2;
Copy

my_wh という名前のウェアハウスを再開し、実行中にウェアハウスのサイズを変更します。

ALTER WAREHOUSE my_wh RESUME;

ALTER WAREHOUSE my_wh SET warehouse_size=MEDIUM;
Copy