DROP SNAPSHOT
DROP SNAPSHOT
블록 스토리지 볼륨의 스냅샷(snapshot)을 제거하는 명령이에요. 스냅샷은 고객이 비용을 지불하는 영속 데이터예요. DROP SNAPSHOT은 Snowflake에 그 데이터를 삭제하라고 지시하며, 데이터는 더 이상 스냅샷으로 사용할 수 없고 고객도 더 이상 비용을 지불하지 않아요.
출처: 문서
본문
구문 (Syntax)
DROP SNAPSHOT [ IF EXISTS ] <name> ;
파라미터
- name — 삭제할 스냅샷의 식별자를 지정해요. 식별자에 공백이나 특수 문자가 포함되면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요.
접근 제어 요구사항 (Access control requirements)
이 작업을 실행하는 역할은 최소한 다음 권한을 가져야 해요:
| Privilege | Object | Notes |
|---|---|---|
| OWNERSHIP | Snapshot | OWNERSHIP은 객체 생성 역할에 자동 부여되는 특수 권한이지만, 소유 역할(또는 MANAGE GRANTS 권한이 있는 역할)이 GRANT OWNERSHIP 명령으로 다른 역할에 이전할 수도 있어요. |
스키마에서 객체를 운영하려면 부모 데이터베이스에 대한 권한이 하나 이상, 부모 스키마에 대한 권한이 하나 이상 필요해요.
사용 메모 (Usage notes)
IF EXISTS절을 지정했을 때 대상 객체가 존재하지 않으면, 명령은 오류를 반환하지 않고 성공적으로 완료돼요.- 스냅샷을 삭제해도 시스템에서 즉시 제거되지는 않아요. 삭제된 스냅샷의 버전은 부모 스키마, 데이터베이스, 또는 계정의
DATA_RETENTION_TIME_IN_DAYS파라미터가 지정한 일수만큼 Time Travel에 유지돼요. Time Travel 보존 기간 내에서는UNDROP SNAPSHOT명령으로 삭제된 스냅샷을 복원할 수 있어요. - Time Travel 보존 기간이 지나면 영구적으로 제거되며 다시 만들어야 해요.
- 보존 없이 스냅샷을 즉시 삭제하려면 스냅샷이 있는 스키마 수준에서
DATA_RETENTION_TIME_IN_DAYS를 0으로 설정해요. 이 설정은 해당 스키마의 다른 객체의 보존 기간에도 영향을 미쳐요.
예시 (Examples)
example_snapshot이라는 스냅샷을 삭제해요:
DROP SNAPSHOT example_snapshot;
+----------------------------------------+
| status |
|----------------------------------------|
| EXAMPLE_SNAPSHOT successfully dropped. |
+----------------------------------------+