ALTER SNAPSHOT SET¶
スナップショット 設定のプロパティを変更します。この操作は、次のいずれかになります。
スナップショットセットの一部になる新しいバックアップを取得します。
スナップショットセットから古いバックアップを削除します。
スナップショットポリシーで指定したスケジュールされたバックアップおよびスケジュールされたスナップショットの削除を一時停止または再開します。
まだポリシーを持たないスナップショットセットにスナップショットポリシーを適用します。
スナップショットセット内の特定のスナップショットに対するリーガルホールドの追加または削除をします。
スナップショットセットのコメントの指定または削除をします。
- こちらもご参照ください。
構文¶
ALTER SNAPSHOT SET <name> ADD SNAPSHOT
ALTER SNAPSHOT SET <name> APPLY SNAPSHOT POLICY <policy_name>
ALTER SNAPSHOT SET <name> SUSPEND SNAPSHOT POLICY
ALTER SNAPSHOT SET <name> RESUME SNAPSHOT POLICY
ALTER SNAPSHOT SET <name> DELETE SNAPSHOT IDENTIFIER '<snapshot_id>'
ALTER SNAPSHOT SET <name> MODIFY SNAPSHOT IDENTIFIER '<snapshot_id>' { ADD | REMOVE } LEGAL HOLD
ALTER SNAPSHOT SET <name> SET COMMENT = '<string_literal>'
ALTER SNAPSHOT SET <name> UNSET COMMENT
パラメーター¶
name
スナップショットセットの識別子を指定します。
識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
詳細については、 識別子の要件 をご参照ください。
ADD SNAPSHOT
セットに手動でスナップショットを作成します。スナップショットポリシーに新しいバックアップを取得するスケジュールが含まれていない場合は、これがスナップショットセットに含まれるテーブル、スキーマ、またはデータベースの新しいバックアップを作成する方法です。また、バックアップが定期的にスケジュールで発生した場合でも、スナップショットセットにいつでも新しいバックアップを作成することもできます。
APPLY SNAPSHOT POLICY policy_name
スナップショットセットに添付するスナップショットポリシーを指定します。
重要
保持ロックを持つスナップショットポリシーをスナップショットセットに適用すると 元に戻せません。規制コンプライアンスに必要な強力な保証により、スナップショットセットに保持ロックをかけた後は、ロックを取り消すことができません。Snowflake サポートもそのような保持ロックを取り消すことはできません。削除できないスナップショットセット、およびそれを含むスキーマとデータベースの予期しないストレージ料金を回避するために、スナップショットセットに長期間の有効期限の保持ロックを設定する前に慎重に計画してください。
Snowflake組織が削除された場合、その組織はSnowflakeのお客様ではなくなります。この場合、Snowflakeは保持ロックを持つスナップショットを含むすべてのスナップショットを削除します。Snowflake組織を削除するには、Snowflakeサポートの関与が必要です。管理者が誤って実行できるものではありません。
SUSPEND SNAPSHOT POLICY
スナップショットセットでスナップショットポリシーを一時停止します。詳細については、 スナップショットセットのスナップショットポリシーの中断 をご参照ください。
RESUME SNAPSHOT POLICY
セットで一時停止したスナップショットポリシーを再開します。詳細については、 スナップショットセットのスナップショットポリシーの再開 をご参照ください。
DELETE SNAPSHOT IDENTIFIER 'snapshot_id'
IDで設定されたスナップショットセット内のスナップショットを削除します。スナップショット ID は、UUID_STRING 関数によって返される形式のUUID値です。詳細については、 スナップショットセットからのスナップショットの削除 をご参照ください。
ALTER SNAPSHOT SET name MODIFY SNAPSHOT IDENTIFIER 'snapshot_id' ADD | REMOVE LEGAL HOLD
スナップショットセット内の指定されたスナップショットにリーガルホールドを追加または削除します。WORM スナップショットのリーガルホールドに関する詳細については 、:ref:`label-snapshots_concept_legal_hold`をご参照ください。この句の使用例については、:ref:`label-adding_removing_snapshot_legal_hold`をご参照ください。
SET COMMENT = 'string_literal'
スナップショットセットにコメントを関連付けます。
UNSET COMMENT
スナップショットセットからコメント を削除します。
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
説明 |
---|---|
OWNERSHIP |
スナップショットセットの変更に使用されるロールには、スナップショットセットに対するOWNERSHIP 権限が必要です。 |
APPLY SNAPSHOT RETENTION LOCK |
スナップショットセットに適用されたスナップショットポリシーに保持ロックが含まれている場合、ポリシーの適用に使用されたロールには、アカウントに対してこの権限が必要です。 |
APPLY LEGAL HOLD |
このアカウント権限は、スナップショットからリーガルホールドを追加または削除する機能を付与します。この権限は、ADDLEGALHOLD および REMOVELEGALHOLD 句のみ必要です。デフォルトでは、 ACCOUNTADMIN ロールにこの権限があります。 |
APPLY |
スナップショットポリシーでこの権限を持つユーザーのみが、APPLYSNAPSHOTPOLICY句でALTERSNAPSHOTSET コマンドを使用し、 既に存在するスナップショットセットにスナップショットポリシーを追加します。 |
これらの権限は、セカンダリロールではなく、現在アクティブなプライマリロールに対して必要です。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
メタデータについて:
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
重要
スナップショットポリシーに保持ロックが適用されており、スナップショットセットに有効期限が切れていないスナップショットが存在する場合は、スナップショットセットを削除できません。その場合は、セット内のすべてのスナップショットの有効期限が切れるのを待つ必要があります。この制限は、ACCOUNTADMINなどの権限ロールにも適用され、Snowflakeをサポートします。そのため、スナップショットポリシーで保持ロックの指定や長期の有効期限を指定する場合は注意してください。
例¶
スナップショットセットにスナップショットを手動で追加する t1_snapshots
:
ALTER SNAPSHOT SET t1_snapshots
ADD SNAPSHOT;
スナップショットセットのスナップショットポリシーを更新する t1_snapshots
:
ALTER SNAPSHOT SET t1_snapshots
APPLY SNAPSHOT POLICY daily_snapshot_policy;
スナップショットセットのスナップショットポリシーを一時停止する t1_snapshot
:
ALTER SNAPSHOT SET t1_snapshots
SUSPEND SNAPSHOT POLICY;
スナップショットセットのスナップショットポリシーを再開する t1_snapshots
:
ALTER SNAPSHOT SET t1_snapshots
RESUME SNAPSHOT POLICY;
ADDLEGALHOLD および REMOVELEGALHOLD 句を持つスナップショット識別子を見つけるには、通常、SHOWSNAPSHOTSコマンドを使用して対象となるスナップショットとその作成時間をリストします。次の例は、適切なスナップショットをリストし、1つの特定のスナップショットにリーガルホールドを追加し、後でそのリーガルホールドを削除する方法を示しています。自分のロール名、スナップショットセット名、スナップショット識別子を置き換えます。
USE ROLE my_legal_hold_role; -- use a role that has the APPLY LEGAL HOLD privilege
SHOW SNAPSHOTS IN SNAPSHOT SET my_db_snapshot_set
->> SELECT "created_on", "snapshot_id" FROM $1 WHERE "is_under_legal_hold" = 'N';
ALTER SNAPSHOT SET my_db_snapshot_set
MODIFY SNAPSHOT IDENTIFIER '790d1ee4-88b2-451f-9ccc-eacd1e93a134'
ADD LEGAL HOLD;
USE ROLE my_legal_hold_role; -- use a role that has the APPLY LEGAL HOLD privilege
SHOW SNAPSHOTS IN SNAPSHOT SET my_db_snapshot_set
->> SELECT "created_on", "snapshot_id" FROM $1 WHERE "is_under_legal_hold" = 'Y';
ALTER SNAPSHOT SET my_db_snapshot_set
MODIFY SNAPSHOT IDENTIFIER '790d1ee4-88b2-451f-9ccc-eacd1e93a134'
REMOVE LEGAL HOLD;