ALTER SNAPSHOT POLICY¶
스냅샷 정책의 속성을 수정합니다. 다음과 같은 변경 사항이 지원됩니다.
정책의 이름을 바꿉니다.
정책에 대한 설명을 추가하거나 업데이트합니다.
정책의 일정 및 만료 설정을 변경합니다. 일정에 따라 Snowflake가 자동으로 백업을 수행하고 결과 스냅샷을 정책이 적용되는 스냅샷 세트에 추가하는 빈도가 결정됩니다. 만료 기간에 따라 Snowflake가 연결된 스냅샷 세트에서 스냅샷을 자동으로 삭제하기 전에 각 스냅샷이 보존되는 기간이 결정됩니다.
정책의 속성을 설정 해제하여 기본값으로 되돌립니다.
구문¶
ALTER SNAPSHOT POLICY <name> RENAME TO <new_name>
ALTER SNAPSHOT POLICY <name> SET
[ COMMENT = '<string_literal>' ]
[ SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]
[ EXPIRE_AFTER_DAYS = <days_integer> ]
ALTER SNAPSHOT POLICY <name> UNSET { COMMENT | SCHEDULE | EXPIRE_AFTER_DAYS }
매개 변수¶
name
스냅샷 정책의 식별자를 지정합니다.
식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
RENAME TO new_name
스냅샷 정책의 새 식별자를 지정합니다. 계정에 대해 고유해야 합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
SET...
스냅샷 정책을 위해 설정할 하나 이상의 속성을 지정합니다(공백, 쉼표 또는 줄 바꿈으로 구분됨).
COMMENT = 'string_literal'
스냅샷 정책에 대한 설명을 지정합니다.
SCHEDULE = '{ num MINUTE | USING CRON expr time_zone }'
오브젝트의 스냅샷 생성 일정을 지정합니다.
참고
스냅샷의 최소 일정은 60분입니다.
모든 정책에는 SCHEDULE 절이나 EXPIRE_AFTER_DAYS 절 또는 두 절이 모두 포함되어야 합니다.
USING CRON expr time_zone
오브젝트의 스냅샷이 생성되는 시점의 cron 식과 타임존을 지정합니다. 표준 cron 유틸리티 구문의 서브세트를 지원합니다.
타임존 목록은 (Wikipedia에서) tz 데이터베이스 타임존 목록 을 참조하십시오.
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(마지막)”를 의미합니다. day-of-month(요일) 필드에 사용하면 해당 월의 “마지막 금요일”(“5L”)과 같은 구문을 지정할 수 있습니다. day-of-month 필드에서는 해당 월의 마지막 요일을 지정합니다.
/n
주어진 시간 단위의 n번째 인스턴스를 나타냅니다. 시간의 각 양은 독립적으로 계산됩니다. 예를 들어, 월 필드에
4/3
이 지정된 경우 스냅샷은 4월, 7월, 10월로 예약됩니다(즉, 해당 연도의 4번째 달부터 3개월마다). 다음 해에도 동일한 일정이 유지됩니다. 즉, 스냅샷은 1월(10월 실행 후 3개월)에 실행되도록 예약되지 않습니다.
참고
cron 식은 현재 지정된 타임존에 대해서만 계산됩니다. 계정에 대한 TIMEZONE 매개 변수 값을 변경해도(또는 사용자 또는 세션 수준에서 값 설정) 스냅샷의 타임존이 변경되지는 않습니다.
cron 식은 스냅샷에 대한 모든 유효한 실행 시간을 정의합니다. Snowflake는 이 일정에 따라 스냅샷을 만들려고 시도하지만, 다음 유효한 실행 시간이 시작되기 전에 이전 실행이 완료되지 않으면 유효한 실행 시간은 건너뜁니다.
특정 일자와 요일이 cron 식에 포함된 경우, 날짜 또는 요일 중 하나`를 만족하는 날짜에 스냅샷이 고침이 예약됩니다. 예를 들어, :samp:`SCHEDULE = ‘USING CRON 0 0 10-20 * TUE,THU UTC’ 는 해당 월의 10일에서 20일 사이에서 0AM(자정)에 스냅샷을 예약하고 해당 날짜 이외의 모든 화요일이나 목요일에도 스냅샷을 예약합니다.
num MINUTE
스냅샷 사이의 대기 시간 간격(분)을 지정합니다. 양의 정수만 허용합니다.
또한
num M
구문을 지원합니다.모호성을 피하기 위해 다음과 같은 상황에서 *기본 간격 시간*이 설정됩니다.
오브젝트를 생성할 때(CREATE SNAPSHOT SET … WITH SNAPSHOT POLICY 사용)
다른 간격이 설정될 때(ALTER SNAPSHOT SET … APPLY SNAPSHOT POLICY 또는 ALTER SNAPSHOT POLICY … SET SCHEDULE 사용)
기본 간격 시간은 현재 시계 시간부터 간격 카운터를 시작합니다. 예를 들어, INTERVAL 값
10
이 설정되고 예약된 스냅샷이 9:03 AM에 활성화되면 다음 스냅샷은 9:13 AM, 9:23 AM 등에 생성됩니다. 당사는 절대 정밀도를 보장하기 위해 최선을 다하지만, 설정된 간격이 발생하기 전에 스냅샷이 실행되지 않는다는 것만 보장합니다(예: 현재 예제에서 스냅샷은 9:14 AM에 처음 실행될 수 있지만, 9:12 AM에는 확실히 실행되지 않음).
EXPIRE_AFTER_DAYS = days_integer
스냅샷이 만료될 때까지의 일 수를 지정합니다. Snowflake는 만료된 스냅샷을 자동으로 삭제합니다. 이 매개 변수를 지정하지 않으면 스냅샷은 스냅샷 세트에서 수동으로 삭제될 때까지 스냅샷 세트에 유지됩니다.
최소값:
1
최대값:
SCHEDULE
절을 지정하지 않는 경우3653
(약 10년)SCHEDULE
절을 지정하는 경우 최대값은 스냅샷을 만드는 빈도에 따라 다릅니다. 자세한 내용은 공개 미리 보기 기간 동안 스냅샷의 제한 사항 섹션을 참조하십시오.
참고
정책에 보존 잠금이 있는 경우 EXPIRE_AFTER_DAYS 값을 늘릴 수 있지만 줄일 수는 없습니다.
모든 정책에는 SCHEDULE 절이나 EXPIRE_AFTER_DAYS 절 또는 두 절이 모두 포함되어야 합니다.
UNSET...
스냅샷 정책에 대해 다음 속성 중 하나를 설정 해제합니다. 속성은 기본값으로 돌아갑니다.
COMMENT
SCHEDULE
EXPIRE_AFTER_DAYS
참고
SCHEDULE 속성이나 EXPIRE_AFTER_DAYS 속성을 설정 해제할 수 있지만 둘 다 해제할 수는 없습니다. 예를 들어, 새 스냅샷을 만들지 않을 계획이지만 특정 시간 후에 기존 스냅샷을 만료하려는 경우 EXPIRE_AFTER_DAYS 속성을 유지할 수 있습니다.
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
참고 |
---|---|
OWNERSHIP |
스냅샷 정책을 수정하는 데 사용되는 역할에는 스냅샷 정책에 대한 OWNERSHIP 권한이 있어야 합니다. |
APPLY SNAPSHOT RETENTION LOCK |
보존 잠금이 있는 스냅샷 정책을 수정하는 데 사용되는 역할은 계정에 대해 이 권한이 있어야 합니다. |
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
예¶
스냅샷 정책 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;