백업 정책 수정하기

백업 정책 수정하기 (ALTER BACKUP POLICY)

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

Backups for disaster recovery and immutable storage

backup 정책의 속성을 수정해요. 다음 변경 사항을 지원해요:

  • 정책 이름을 바꿔요.
  • 정책에 대한 주석을 추가하거나 업데이트해요.
  • 정책의 일정 및 만료 설정을 변경해요. 일정은 Snowflake가 자동으로 백업을 만들고 결과 백업을 정책이 관리하는 백업 세트에 추가하는 빈도를 결정해요. 만료 기간은 Snowflake가 연결된 백업 세트에서 각 백업을 자동으로 삭제하기 전에 보존하는 기간을 결정해요.
  • 정책의 속성을 설정 해제하여 기본값으로 되돌려요.

참조:

CREATE BACKUP POLICY, DROP BACKUP POLICY, SHOW BACKUP POLICIES

출처: 문서

본문

Syntax

ALTER BACKUP POLICY  RENAME TO 

ALTER BACKUP POLICY  SET
  [ COMMENT = '' ]
  [ SCHEDULE = '{  MINUTE |  HOUR | USING CRON   }' ]
  [ EXPIRE_AFTER_DAYS =  ]

ALTER BACKUP POLICY  UNSET { COMMENT | SCHEDULE | EXPIRE_AFTER_DAYS }

ALTER BACKUP POLICY  SET TAG  = '' [ ,  = '' ... ]

ALTER BACKUP POLICY  UNSET TAG  [ ,  ... ]

Parameters

name

백업 정책에 대한 식별자를 지정해요.

식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶인 식별자는 대소문자를 구분해요.

자세한 내용은 Identifier requirements를 참조하세요.

RENAME TO new_name

백업 정책에 대한 새 식별자를 지정해요. 계정 내에서 고유해야 해요.

자세한 내용은 Identifier requirements를 참조하세요.

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 유틸리티 구문의 일부를 지원해요.

    시간대 목록은 list of tz database time zones(위키백과)을 참조하세요.

    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번째 인스턴스를 나타내요. 각 시간 단위는 독립적으로 계산돼요. 예를 들어, 월 필드에 4/3을 지정하면 백업이 4월, 7월, 10월로 예약돼요. 즉, 연중 4번째 달부터 3개월마다 실행되는 거예요. 이후 연도에도 동일한 일정이 유지돼요. 즉, 백업은 1월(10월 실행 후 3개월 후)에는 실행되지 않아요.

    • cron 표현식은 현재 지정된 시간대에 대해서만 평가돼요. 계정의 매개변수 값을 변경하거나(사용자 또는 세션 수준에서 값을 설정해도) 백업의 시간대는 변경되지 않아요.
    • cron 표현식은 백업의 모든 유효한 실행 시간을 정의해요. Snowflake는 이 일정에 따라 백업을 생성하려고 시도해요. 하지만 다음 유효 실행 시간이 시작되기 전에 이전 실행이 완료되지 않으면 해당 유효 실행 시간은 건너뛰어져요.
    • cron 표현식에 특정 날짜와 요일이 모두 포함된 경우, 백업은 날짜 조건이나 요일 조건 중 하나를 충족하는 날에 예약돼요. 예를 들어, SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC'는 매월 10일부터 20일 사이의 자정(0AM)과 그 외 날짜의 화요일 또는 목요일에 백업을 예약해요.

num MINUTE or num MINUTES

백업 사이의 대기 시간 간격(분)을 지정해요. 양의 정수만 허용돼요.

num M 구문도 지원해요.

num HOUR or num HOURS

백업 사이의 대기 시간 간격(시간)을 지정해요. 양의 정수만 허용돼요.

num H 구문도 지원해요.

혼동을 피하기 위해 기준 간격 시간은 다음 상황에서 설정돼요:

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

기준 간격 시간은 현재 시각부터 간격 카운터를 시작해요. 예를 들어, 10 MINUTES의 INTERVAL 값이 설정되고 예약 백업이 오전 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' , ... ]

tag 이름과 태그 문자열 값을 지정해요.

태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자예요.

문에서 태그를 지정하는 방법에 대한 자세한 내용은 를 참조하세요.

UNSET...

백업 정책에 대해 다음 속성 중 하나를 설정 해제해요. 해당 속성은 기본값으로 되돌아가요.

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

SCHEDULE 속성 또는 EXPIRE_AFTER_DAYS 속성 중 하나는 설정 해제할 수 있지만, 둘 다는 안 돼요. 예를 들어, 새 백업을 생성할 계획은 없지만 기존 백업이 일정 시간 후에 만료되기를 원한다면 EXPIRE_AFTER_DAYS 속성을 유지할 수 있어요.

액세스 제어 요구 사항

이 작업을 실행하는 데 사용되는 role에는 최소한 다음 privileges이 있어야 해요.

Privilege Notes
OWNERSHIP 백업 정책을 수정하는 데 사용되는 역할은 해당 백업 정책에 대한 OWNERSHIP 권한이 있어야 해요.
APPLY BACKUP RETENTION LOCK 보존 잠금이 있는 백업 정책을 수정하는 데 사용되는 역할은 계정에 이 권한이 있어야 해요.

지정된 권한 집합을 가진 사용자 지정 역할을 만드는 방법은 을(를) 참조하세요.

SQL 작업을 수행할 때 securable objects에 대한 역할 및 권한 부여에 관한 일반적인 정보는 Overview of Access Control을(를) 참조하세요.

사용 시 유의 사항

메타데이터 관련:

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

예시

백업 정책 hourly_backup_policy의 이름을 daily_backup_policy로 변경해요:

ALTER BACKUP POLICY hourly_backup_policy
  RENAME TO daily_backup_policy;

백업 정책 hourly_backup_policy에 주석을 추가해요:

ALTER BACKUP POLICY hourly_backup_policy
  SET COMMENT = 'hourly backup expires in 90 days';

백업 정책 every_two_hours의 일정을 변경해요:

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

EXPIRE_AFTER_DAYS 속성을 다시 기본값으로 되돌려요:

ALTER BACKUP POLICY sample_backup_policy UNSET EXPIRE_AFTER_DAYS;

더 알아보기 (Learn more)