ALTER SNAPSHOT POLICY — 더 이상 사용되지 않음

ALTER SNAPSHOT POLICY — 더 이상 사용되지 않음 (Deprecated)

스냅샷 정책의 속성을 수정하는 명령이에요. 다음 변경이 지원돼요:

  • 정책 이름 바꾸기.
  • 정책 주석 추가 또는 업데이트.
  • 정책의 스케줄 및 만료 설정 변경. 스케줄은 Snowflake가 백업을 자동으로 만들고 결과 스냅샷을 정책이 관리하는 스냅샷 세트에 추가하는 빈도를 결정해요. 만료 기간은 Snowflake가 연결된 스냅샷 세트에서 스냅샷을 자동으로 삭제하기 전에 각 스냅샷을 보관하는 기간을 결정해요.
  • 정책의 속성을 해제해 기본값으로 되돌리기.

출처: 문서

본문

Standard & Business Critical Feature

  • 스냅샷은 모든 Snowflake 에디션에서 사용할 수 있어요.
  • 보존 잠금(retention lock)이 있는 스냅샷과 법적 보류(legal hold)가 있는 스냅샷은 Business Critical Edition(이상)에서 사용할 수 있어요. 업그레이드 문의는 Snowflake Support에 연락하세요.

더 이상 사용되지 않는 기능: ALTER SNAPSHOT POLICY 명령은 더 이상 사용되지 않아요. ALTER BACKUP POLICY를 참고하세요.

관련 명령: CREATE SNAPSHOT POLICY — 더 이상 사용되지 않음, DROP SNAPSHOT POLICY — 더 이상 사용되지 않음, SHOW SNAPSHOT POLICIES — 더 이상 사용되지 않음

구문 (Syntax)

ALTER SNAPSHOT POLICY <name> RENAME TO <new_name>

ALTER SNAPSHOT POLICY <name> SET
  [ COMMENT = '<string_literal>' ]
  [ SCHEDULE = '{ <num> MINUTE | <num> HOUR | USING CRON <expr> <time_zone> }' ]
  [ EXPIRE_AFTER_DAYS = <days_integer> ]

ALTER SNAPSHOT POLICY <name> UNSET { COMMENT | SCHEDULE | EXPIRE_AFTER_DAYS }

ALTER SNAPSHOT POLICY <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER SNAPSHOT POLICY <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

매개변수 (Parameters)

name — 스냅샷 정책의 식별자를 지정해요. 식별자에 공백이나 특수 문자가 포함되어 있으면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요. 자세한 내용은 식별자 요구사항을 참고하세요.

RENAME TO new_name — 스냅샷 정책의 새 식별자를 지정해요. 계정에서 고유해야 해요. 자세한 내용은 식별자 요구사항을 참고하세요.

SET ... — 공백, 콤마 또는 줄바꿈으로 구분해 스냅샷 정책에 설정할 하나 이상의 속성을 지정해요:

COMMENT = 'string_literal' — 스냅샷 정책에 대한 주석을 지정해요.

SCHEDULE = '{ num MINUTE | num HOUR | USING CRON expr time_zone }' — 객체의 스냅샷을 만드는 스케줄을 지정해요.

참고: 스냅샷의 최소 스케줄은 60분 또는 1시간이에요. 모든 정책은 SCHEDULE 절, EXPIRE_AFTER_DAYS 절 또는 둘 다를 포함해야 해요.

  • USING CRON expr time_zone — 객체의 스냅샷이 만들어지는 시점에 대한 cron 표현식과 시간대를 지정해요. 표준 cron 유틸리티 구문의 일부를 지원해요. 시간대 목록은 tz 데이터베이스 시간대 목록(Wikipedia)을 참고하세요. cron 표현식은 다음 필드로 구성돼요:
# __________ minute (0-59)
# | ________ hour (0-23)
# | | ______ day of month (1-31, or L)
# | | | ____ month (1-12, JAN-DEC)
# | | | | __ day of week (0-6, SUN-SAT, or L)
# | | | | |
# | | | | |
  * * * * *

다음 특수 문자를 지원해요:

  • * — 와일드카드. 필드의 모든 발생을 지정해요.
  • L — "last(마지막)"를 나타내요. 요일 필드에서 사용하면 특정 월의 "마지막 금요일"("5L") 같은 구문을 지정할 수 있어요. 월일 필드에서는 월의 마지막 날을 지정해요.
  • /*n* — 주어진 시간 단위의 n번째 인스턴스를 나타내요. 각 시간 양자(quanta)는 독립적으로 계산돼요. 예를 들어 월 필드에 4/3이 지정되면 스냅샷은 4월, 7월, 10월(즉 해의 4번째 달부터 3개월마다)에 예약돼요. 이후 연도에도 같은 스케줄이 유지돼요. 즉 스냅샷은 1월(10월 실행 후 3개월)에는 실행되도록 예약되지 않아요.

참고

  • cron 표현식은 현재 지정된 시간대에 대해서만 평가돼요. 계정의 TIMEZONE 매개변수 값을 변경해도(또는 사용자 또는 세션 수준에서 설정해도) 스냅샷의 시간대는 변경되지 않아요.
  • cron 표현식은 스냅샷의 모든 유효한 실행 시간을 정의해요. Snowflake는 이 스케줄에 따라 스냅샷을 만들려고 하지만, 다음 유효한 실행 시간이 시작되기 전에 이전 실행이 완료되지 않으면 유효한 실행 시간이 건너뛰어져요.
  • cron 표현식에 특정 월일과 요일이 모두 포함되면 스냅샷은 월일 또는 요일 중 하나를 충족하는 날에 예약돼요. 예를 들어 SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC'는 매월 10일에서 20일 사이의 오전 0시와 그 날짜 밖의 화요일 또는 목요일에도 스냅샷을 예약해요.
  • num MINUTE — 스냅샷 사이의 대기 시간 간격(분)을 지정해요. 양의 정수만 받아요. num M 구문도 지원돼요.
  • num HOUR 또는 num HOURS — 백업 사이의 대기 시간 간격(시간)을 지정해요. 양의 정수만 받아요. num H 구문도 지원돼요.

모호함을 피하기 위해 다음 상황에서 *기준 간격 시간(base interval time)*이 설정돼요:

  • 객체가 생성될 때 (CREATE BACKUP SET … WITH BACKUP POLICY 사용).
  • 다른 간격이 설정될 때 (ALTER BACKUP SET … APPLY BACKUP POLICY 또는 ALTER BACKUP POLICY … SET SCHEDULE 사용).

기준 간격 시간은 현재 시계 시간부터 간격 카운터를 시작해요. 예를 들어 INTERVAL 값이 10 MINUTES이고 예약된 백업이 오전 9:03에 활성화되면 다음 백업은 9:13, 9:23 등에 만들어져요. 절대적인 정밀도를 보장하기 위해 최선을 다하지만, 백업이 설정된 간격 이전에는 실행되지 않음을 보장할 뿐이에요(즉 이 예시에서 백업은 9:14에 처음 실행될 수 있지만 9:12에는 확실히 실행되지 않아요).

EXPIRE_AFTER_DAYS = days_integer — 스냅샷이 만료될 때까지의 일수를 지정해요. Snowflake는 만료된 스냅샷을 자동으로 삭제해요. 이 매개변수를 지정하지 않으면 스냅샷은 세트에서 수동으로 삭제할 때까지 스냅샷 세트에 남아 있어요.

  • 최소값: 1
  • SCHEDULE 절을 지정하지 않으면 최대값: 3653(약 10년)

참고: 정책에 보존 잠금이 있으면 EXPIRE_AFTER_DAYS 값을 늘릴 수 있지만 줄일 수는 없어요. 모든 정책은 SCHEDULE 절, EXPIRE_AFTER_DAYS 절 또는 둘 다를 포함해야 해요.

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]태그 이름과 태그 문자열 값을 지정해요. 태그 값은 항상 문자열이며, 최대 문자 수는 256이에요. 문에서 태그를 지정하는 방법은 태그 할당량을 참고하세요.

UNSET ... — 스냅샷 정책의 다음 속성 중 하나를 해제해요. 속성은 기본값으로 되돌아가요.

  • COMMENT
  • TAG tag_name [ , tag_name ... ]
  • SCHEDULE
  • EXPIRE_AFTER_DAYS

참고: SCHEDULE 속성 또는 EXPIRE_AFTER_DAYS 속성 중 하나는 해제할 수 있지만 둘 다는 해제할 수 없어요. 예를 들어 새 스냅샷을 만들 의도가 없지만 기존 스냅샷이 일정 시간 후에 만료되길 원한다면 EXPIRE_AFTER_DAYS 속성을 유지할 수 있어요.

접근 제어 요구사항 (Access control requirements)

이 작업을 실행하는 데 사용되는 역할은 최소한 다음 권한을 보유해야 해요:

권한 설명
OWNERSHIP 스냅샷 정책을 수정하는 역할은 스냅샷 정책에 OWNERSHIP 권한이 있어야 해요.
APPLY SNAPSHOT RETENTION LOCK 보존 잠금이 있는 스냅샷 정책을 수정하는 역할은 계정에 이 권한이 있어야 해요.

지정한 권한 집합을 가진 사용자 정의 역할을 만드는 방법은 사용자 정의 역할 만들기를 참고하세요.

보호 객체에서 SQL 작업을 수행할 때 역할과 권한 부여에 대한 일반 정보는 접근 제어 개요를 참고하세요.

사용 메모 (Usage notes)

메타데이터 관련: Snowflake 서비스를 사용할 때 메타데이터로 개인 데이터(User 객체 외), 민감한 데이터, 수출 통제 데이터 또는 기타 규제 대상 데이터를 입력하지 않도록 주의해야 해요. 자세한 내용은 Snowflake의 메타데이터 필드를 참고하세요.

예시 (Examples)

스냅샷 정책 hourly_snapshot_policy에 주석을 추가해요.

ALTER SNAPSHOT POLICY hourly_snapshot_policy
  SET COMMENT = 'hourly snapshot expires in 90 days';

스냅샷 정책 every_two_hours의 스케줄을 변경해요.

ALTER SNAPSHOT POLICY every_two_hours SET SCHEDULE = '120 MINUTE';

EXPIRE_AFTER_DAYS 속성을 기본값으로 되돌려요.

ALTER SNAPSHOT POLICY sample_snapshot_policy UNSET EXPIRE_AFTER_DAYS;

더 알아보기 (Learn more)