CREATE SNAPSHOT¶
注釈
この操作は現在、 Snowflake’s Support Policy and Service Level Agreement に規定されたService Levelセットの対象外です。
指定されたサービスインスタンスから名前付きボリュームの スナップショット を作成または置換します。スナップショットは現在のスキーマで作成されます。
- こちらもご参照ください。
ALTER SNAPSHOT、 DESCRIBE SNAPSHOT、 DROP SNAPSHOT、 SHOW SNAPSHOTS
構文¶
CREATE [ OR REPLACE ] SNAPSHOT [ IF NOT EXISTS ] <name>
FROM SERVICE <service_name>
VOLUME "<volume_name>"
INSTANCE <instance_id>
[ COMMENT = '<string_literal>']
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
必須パラメーター¶
name
スナップショットの識別子(つまり、名前)を指定する文字列。スナップショットが作成されるスキーマで一意にする必要があります。
また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。
FROM SERVICE service_name
サービスの名前を指定します。
VOLUME "volume_name"
サービスに関連付けられたボリュームの名前を指定します。スナップショットは、ブロックストレージボリュームに対してのみ実行できます(ローカルボリューム、メモリボリューム、ステージボリュームに対しては実行できません)。
ボリューム名は大文字と小文字を区別します。したがって、サービス仕様の対応する名前と一致するように、常に二重引用符を使用する必要があります。
INSTANCE instance_id
サービスインスタンスのインデックス。サービスインスタンスインデックスは0から始まり、範囲は
[0, ..., MAX_INSTANCES - 1]
です。 SYSTEM$GET_SERVICE_STATUS --- 非推奨 関数を呼び出して関連情報を取得できます。
オプションのパラメーター¶
COMMENT = 'string_literal'
サービスのコメントを指定します。
デフォルト: 値なし
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
タグ の名前とタグ文字列の値を指定します。
タグ値は常に文字列であり、タグ値の最大文字数は256です。
ステートメントでのタグの指定に関する情報については、 オブジェクトおよび列のタグクォータ をご参照ください。
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
CREATE SNAPSHOT |
スキーマ |
|
OPERATE |
サービス |
スキーマ内の任意のオブジェクトを操作するには、親データベースとスキーマに対する USAGE 権限も必要であることに注意してください。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
メタデータについて:
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。
例¶
「data」という名前のボリュームを持つ2つのインスタンス(コンテナーの数は関係ありません)でサービスを作成する場合は、次の SQL を使用して、最初のインスタンスに関連付けられたボリュームのスナップショットを作成します。
CREATE SNAPSHOT snapshot_0
FROM SERVICE example_service
VOLUME "data"
INSTANCE 0
COMMENT='new snapshot';
2番目のサービスインスタンスに関連するボリュームのスナップショットを作成するには、前述の SQL で INSTANCE 1
を指定します。