장애 조치 그룹 변경

장애 조치 그룹 변경 (ALTER FAILOVER GROUP)

ALTER FAILOVER GROUP

이 기능은 중화인민공화국에서는 사용할 수 없어요.

Business Critical Edition(또는 그 이상)이 필요해요. 업그레이드에 대해 문의하려면 Snowflake Support에 연락해 주세요.

기존 failover group의 속성을 수정해요.

소스 계정에서는 다음 작업을 수행할 수 있어요:

  • failover group의 이름을 변경할 수 있어요.
  • 복제 및 장애 조치에 사용하도록 지정된 객체 유형 목록을 재설정할

출처: 문서

본문

구문

원본 계정

ALTER FAILOVER GROUP [ IF EXISTS ]  RENAME TO 

ALTER FAILOVER GROUP [ IF EXISTS ]  SET
  [ OBJECT_TYPES =  [ ,  , ... ] ]
  [ ALLOWED_DATABASES =  [ ,  , ... ] ]
  [ ALLOWED_EXTERNAL_VOLUMES =  [ ,  , ... ] ]
  [ ALLOWED_SHARES =  [ ,  , ... ] ]

ALTER FAILOVER GROUP [ IF EXISTS ]  SET
  OBJECT_TYPES = INTEGRATIONS [ ,  , ... ]
  ALLOWED_INTEGRATION_TYPES =  [ ,  ... ]

ALTER FAILOVER GROUP [ IF EXISTS ]  SET
  COMMENT = ''

ALTER FAILOVER GROUP [ IF EXISTS ]  SET
  REPLICATION_SCHEDULE = '{  MINUTE | USING CRON   }'

ALTER FAILOVER GROUP [ IF EXISTS ]  SET
  OPTIMIZED_REFRESH = { TRUE | FALSE }

ALTER FAILOVER GROUP [ IF EXISTS ]  SET
  ERROR_INTEGRATION = 

ALTER FAILOVER GROUP [ IF EXISTS ]  SET
  TAG  = '' [ ,  = '' ... ]

ALTER FAILOVER GROUP [ IF EXISTS ]  UNSET
  { COMMENT | REPLICATION_SCHEDULE | OPTIMIZED_REFRESH | ERROR_INTEGRATION } [ , ... ]

ALTER FAILOVER GROUP [ IF EXISTS ]  UNSET
  TAG  [ ,  ... ]

ALTER FAILOVER GROUP [ IF EXISTS ] 
  ADD  [ ,  ,  ... ] TO ALLOWED_DATABASES

ALTER FAILOVER GROUP [ IF EXISTS ] 
  MOVE DATABASES  [ ,  ,  ... ] TO FAILOVER GROUP 

ALTER FAILOVER GROUP [ IF EXISTS ] 
  REMOVE  [ ,  ,  ... ] FROM ALLOWED_DATABASES

ALTER FAILOVER GROUP [ IF EXISTS ] 
  ADD  [ ,  ,  ... ] TO ALLOWED_EXTERNAL_VOLUMES

ALTER FAILOVER GROUP [ IF EXISTS ] 
  MOVE EXTERNAL VOLUMES  [ ,  ,  ... ] TO FAILOVER GROUP 

ALTER FAILOVER GROUP [ IF EXISTS ] 
  REMOVE  [ ,  ,  ... ] FROM ALLOWED_EXTERNAL_VOLUMES

ALTER FAILOVER GROUP [ IF EXISTS ] 
  ADD  [ ,  ,  ... ] TO ALLOWED_SHARES

ALTER FAILOVER GROUP [ IF EXISTS ] 
  MOVE SHARES  [ ,  ,  ... ] TO FAILOVER GROUP 

ALTER FAILOVER GROUP [ IF EXISTS ] 
  REMOVE  [ ,  ,  ... ] FROM ALLOWED_SHARES

ALTER FAILOVER GROUP [ IF EXISTS ] 
  ADD . [ , . ,  ... ] TO ALLOWED_ACCOUNTS
  [ IGNORE EDITION CHECK ]

ALTER FAILOVER GROUP [ IF EXISTS ] 
  REMOVE . [ , . ,  ... ] FROM ALLOWED_ACCOUNTS

대상 계정

ALTER FAILOVER GROUP [ IF EXISTS ]  REFRESH

ALTER FAILOVER GROUP [ IF EXISTS ]  PRIMARY

ALTER FAILOVER GROUP [ IF EXISTS ]  SUSPEND [ IMMEDIATE ]

ALTER FAILOVER GROUP [ IF EXISTS ]  RESUME

매개변수

원본 계정

name

장애 조치 그룹의 식별자를 지정해요.

RENAME TO new_name

new_name

장애 조치 그룹의 새 식별자를 지정해요. 새 식별자가 다른 복제 또는 장애 조치 그룹에 이미 사용 중인 경우에는 사용할 수 없어요.

자세한 내용은 식별자 요구 사항을 참조하세요.

SET ...

장애 조치 그룹에 설정할 속성을 지정해요 (공백, 쉼표 또는 새 줄로 구분해요).

OBJECT_TYPES = object_type [ , object_type , ... ]

원본 계정에서 대상 계정으로 복제 및 장애 조치를 활성화할 개체 유형 목록을 재설정해요.

  • 데이터베이스, 외부 볼륨 및 공유 개체의 경우:

    • DATABASES, EXTERNAL VOLUMES 또는 SHARES가 OBJECT_TYPES 목록에 포함되어 있고 목록을 재설정한 후에도 OBJECT_TYPES 목록에 남아 있으면, 각각의 허용 개체 목록(ALLOWED_DATABASES, ALLOWED_EXTERNAL_VOLUMES 또는 ALLOWED_SHARES)은 변경되지 않은 채 유지돼요.
    • OBJECT_TYPES 목록을 재설정하여 DATABASES를 추가하거나 제거하면 ALLOWED_DATABASES 목록은 NULL로 설정돼요.
    • OBJECT_TYPES 목록을 재설정하여 EXTERNAL VOLUMES를 추가하거나 제거하면 ALLOWED_EXTERNAL_VOLUMES 목록은 NULL로 설정돼요.
    • OBJECT_TYPES 목록을 재설정하여 SHARES를 추가하거나 제거하면 ALLOWED_SHARES 목록은 NULL로 설정돼요.
    • 허용된 데이터베이스, 외부 볼륨 또는 공유 개체 목록을 수정하려면 ADD, MOVE 및 REMOVE 절을 사용해요.

다음 개체 유형이 지원돼요.

ACCOUNT PARAMETERS:

모든 계정 수준 매개변수를 포함해요. 여기에는 계정 매개변수계정에 설정할 수 있는 매개변수가 포함돼요.

DATABASES:

데이터베이스 개체를 개체 유형 목록에 추가해요. 데이터베이스 개체가 이미 지정된 개체 유형 목록에 포함되어 있다면 ALLOWED_DATABASES 목록은 변경되지 않은 채 유지돼요. 데이터베이스 목록을 수정하려면 ADD, MOVE 또는 REMOVE 절을 사용해요.

EXTERNAL VOLUMES:

외부 볼륨 개체를 개체 유형 목록에 추가해요. 외부 볼륨 개체가 지정된 개체 유형 목록에 포함되어 있다면 ALLOWED_EXTERNAL_VOLUMES 매개변수를 설정해야 해요. 외부 볼륨 목록을 수정하려면 ADD, MOVE 또는 REMOVE 절을 사용해요.

INTEGRATIONS:

현재 보안, API, 스토리지, 외부 액세스 및 특정 유형의 알림 통합만 지원돼요. 자세한 내용은 를 참조하세요.

통합 개체가 지정된 개체 유형 목록에 포함되어 있다면 ALLOWED_INTEGRATION_TYPES 매개변수를 설정해야 해요.

LISTINGS:

리스팅을 개체 유형 목록에 추가해요. 장애 조치 그룹에 리스팅을 추가할 때 공유를 추가하는 것은 선택 사항이에요. Snowflake는 복제 및 장애 조치를 위해 적격한 모든 리스팅과 해당 공유를 자동으로 선택해요.

NETWORK POLICIES:

원본 계정의 모든 네트워크 정책이에요.

PROFILES:

원본 계정의 모든 프로필이에요. 현재 제약 조건에 대한 정보는 프로필 복제 제약 조건을 검토하세요.

RESOURCE MONITORS:

원본 계정의 모든 리소스 모니터예요.

ROLES:

원본 계정의 모든 역할이에요. 역할을 복제하면 장애 조치 그룹에 포함된 개체 유형에 대한 모든 권한 부여가 암시적으로 포함돼요. 예를 들어, ROLES가 복제되는 유일한 개체 유형이라면 역할 계층(즉, 다른 역할에 부여된 역할)만 대상 계정으로 복제돼요. USERS 개체 유형도 포함되어 있다면 사용자에 대한 역할 부여도 복제돼요.

SHARES:

공유 개체를 개체 유형 목록에 추가해요. 공유 개체가 이미 지정된 개체 유형 목록에 포함되어 있다면 ALLOWED_SHARES 목록은 변경되지 않은 채 유지돼요. 공유 목록을 수정하려면 ADD, MOVE 또는 REMOVE 절을 사용해요.

USERS:

원본 계정의 모든 사용자예요.

WAREHOUSES:

원본 계정의 모든 웨어하우스예요.

사용자와 역할을 복제하면 사용자의 프로그래매틱 액세스 토큰도 자동으로 복제돼요.

ALLOWED_DATABASES = db_name [ , db_name , ... ]

원본 계정에서 대상 계정으로 복제 및 장애 조치를 활성화할 데이터베이스 또는 데이터베이스 목록을 지정해요. 이 매개변수를 설정하려면 OBJECT_TYPES 목록에 DATABASES가 포함되어 있어야 해요.

db_name

데이터베이스의 식별자를 지정해요.

ALLOWED_EXTERNAL_VOLUMES = external_volume_name [ , external_volume_name , ... ]

%logo-snowflake-black% 미리 보기 기능 — 공개

모든 계정에서 사용할 수 있어요.

원본 계정에서 대상 계정으로 복제 및 장애 조치를 활성화할 외부 볼륨 또는 외부 볼륨 목록을 지정해요. 이 매개변수를 설정하려면 OBJECT_TYPES 목록에 EXTERNAL VOLUMES가 포함되어 있어야 해요.

external_volume_name

외부 볼륨의 식별자를 지정해요.

ALLOWED_SHARES = share_name [ , share_name , ... ]

원본 계정에서 대상 계정으로 복제 및 장애 조치를 활성화할 공유 또는 공유 목록을 지정해요. 이 매개변수를 설정하려면 OBJECT_TYPES 목록에 SHARES가 포함되어 있어야 해요.

share_name

공유의 식별자를 지정해요.

ALLOWED_DATABASES, ALLOWED_EXTERNAL_VOLUMES 또는 ALLOWED_SHARES 목록이 수정되면, 이전에 목록에 있었다가 제거된 개체는 연결된 보조 장애 조치 그룹이 있는 대상 계정에서 다음 새로 고침 작업이 발생할 때 삭제돼요.

ALLOWED_INTEGRATION_TYPES = integration_type_name [ , integration_type_name , ... ]

원본 계정에서 대상 계정으로 복제 및 장애 조치를 활성화할 통합 유형을 지정해요.

이 속성을 설정하려면 OBJECT_TYPES 목록에 INTEGRATIONS가 포함되어 있어야 해요.

다음 통합 유형이 지원돼요.

SECURITY INTEGRATIONS:

보안 통합을 지정해요.

이 속성을 설정하려면 OBJECT_TYPES 목록에 ROLES가 포함되어 있어야 해요.

API INTEGRATIONS:

Specifies API integrations.

API 통합 복제는 API 통합이 대상 계정으로 복제된 후에 추가 설정이 필요해요. 자세한 내용은 를 참조하세요.

STORAGE INTEGRATIONS:

스토리지 통합을 지정해요.

EXTERNAL ACCESS INTEGRATIONS:

external access integrations를 지정해요.

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

NOTIFICATION INTEGRATIONS:

알림 통합을 지정해요.

일부 유형의 알림 통합만 복제돼요. 자세한 내용은 를 참조하세요.

COMMENT = 'string_literal'

장애 조치 그룹에 대한 주석을 추가하거나 기존 주석을 덮어써요.

기본값:

NULL

REPLICATION_SCHEDULE ...

보조 장애 조치 그룹을 새로 고치는 일정을 지정해요.

  • 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'를 의미해요. 요일(day-of-week) 필드에서 사용하면 특정 달의 '마지막 금요일'('5L')과 같은 구문을 지정할 수 있어요. 날짜(day-of-month) 필드에서는 그 달의 마지막 날을 지정해요.

    /n

    주어진 시간 단위의 n번째 인스턴스를 나타내요. 각 시간 양자(quanta)는 독립적으로 계산돼요. 예를 들어, 월 필드에 4/3을 지정하면 새로 고침이 4월, 7월, 10월로 예약돼요 (즉, 연중 4번째 달부터 3개월마다). 이후 연도에도 동일한 일정이 유지돼요. 즉, 새로 고침은 1월(10월 실행 후 3개월)에 실행되도록 예약되지 않아요.

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

    새로 고침 사이의 대기 시간(분) 간격을 지정해요. 양의 정수만 허용해요.

    num M 구문도 지원해요.

    모호함을 피하기 위해 기준 간격 시간이 설정돼요:

    • 개체가 생성될 때(CREATE <object> 사용) 또는
    • 다른 간격이 설정될 때(ALTER <object> ... SET REPLICATION_SCHEDULE 사용)

    기준 간격 시간은 현재 시각부터 간격 카운터를 시작해요. 예를 들어, INTERVAL 값이 10으로 설정되고 예약된 새로 고침이 오전 9:03에 활성화되면 새로 고침은 오전 9:13, 9:23 등으로 실행돼요. 절대적인 정밀도를 보장하기 위해 최선을 다하지만, 새로 고침이 설정된 간격이 발생하기 전에 실행되지 않는다는 것만 보장해요 (예: 현재 예에서 새로 고침이 처음에 오전 9:14에 실행될 수는 있지만, 오전 9:12에는 절대 실행되지 않아요).

    지원되는 최대 값은 11520(8일)이에요. 복제 일정에 더 큰 num MINUTE 값이 있으면 새로 고침 작업이 실행되지 않아요.

기본값:

NULL

OPTIMIZED_REFRESH = { TRUE | FALSE }

%logo-snowflake-black% Preview Feature — Open

Business Critical Edition(이상) 계정에서 사용할 수 있어요.

장애 조치 그룹에 대해 optimized refresh를 활성화하거나 비활성화해요. 최적화된 새로 고침은 소스 계정의 메타데이터 변경 사항을 추적하고 각 새로 고침 시 해당 변경 사항만 대상 계정에 적용해요. 따라서 새로 고침 시간은 환경의 전체 크기보다는 변경 속도에 따라 조정돼요.

TRUE로 설정하면:

  • REPLICATION_SCHEDULE이 필요하며, 일정 간격은 6시간을 초과할 수 없어요. 동일한 ALTER 문에서 일정을 설정하거나 업데이트할 수 있어요. 가장 좋은 결과를 얻으려면 Snowflake는 10 MINUTE 이하의 일정을 권장해요.
  • 이 속성은 기본(primary) 장애 조치 그룹에서만 설정할 수 있어요.
  • 활성화 후 다음 새로 고침은 기준을 설정하는 일회성 부트스트래핑 새로 고침이에요. 이후 새로 고침은 증분 방식이에요. 부트스트래핑 새로 고침은 최적화된 새로 고침(optimized-refresh) 가격 모델로 청구돼요.
  • 이 속성이 TRUE인 동안 모든 새로 고침에 최적화된 새로 고침(optimized-refresh) 가격 모델이 적용돼요. 자세한 내용은 를 참조하세요.

Replication Classic으로 되돌리려면 UNSET 형식을 사용해요(아래 UNSET ... 설명 참조). 다음 새로 고침은 Replication Classic으로 실행되며 기존 복제 가격으로 청구돼요.

기본값:

FALSE

ERROR_INTEGRATION = integration_name

장애 조치 그룹에 대해 새로 고침 오류가 발생할 때 이메일/푸시 알림을 보내는 데 사용할 알림 통합의 이름을 지정해요. 자세한 내용은 Error notifications for replication and failover groups를 참조하세요.

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

tag 이름과 태그 문자열 값을 지정합니다.

태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.

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

ADD db_name [ , db_name , ... ] TO ALLOWED_DATABASES

복제 및 장애 조치(failover)에 사용할 추가 데이터베이스 목록을 쉼표로 구분해 지정합니다. 데이터베이스를 추가하려면 DATABASES가 지정된 객체 유형 목록에 포함되어 있어야 합니다. 객체 유형 목록에 DATABASES가 아직 포함되어 있지 않다면 DATABASES를 추가해야 합니다.

db_name

데이터베이스의 식별자를 지정합니다.

MOVE DATABASES db_name [ , db_name , ... ] TO FAILOVER GROUP move_to_fg_name

데이터베이스를 한 장애 조치 그룹에서 다른 장애 조치 그룹으로 이동할 목록을 쉼표로 구분해 지정합니다. 데이터베이스가 이동될 장애 조치 그룹에는 지정된 객체 유형 목록에 DATABASES가 포함되어 있어야 합니다.

db_name

데이터베이스의 식별자를 지정합니다.

move_to_fg_name

데이터베이스가 이동될 장애 조치 그룹의 식별자를 지정합니다.

REMOVE db_name [ , db_name , ... ] FROM ALLOWED_DATABASES

복제 및 장애 조치에 사용하도록 설정된 데이터베이스 목록에서 제거할 데이터베이스 목록을 쉼표로 구분해 지정합니다.

기본 장애 조치 그룹에서 데이터베이스를 제거하면 다음 새로 고침 작업이 발생할 때 연결된 보조 장애 조치 그룹이 있는 모든 대상 계정에서 해당 데이터베이스가 삭제됩니다.

대상 계정에서 데이터베이스가 삭제되지 않도록 하려면 수정된 기본 장애 조치 그룹이 대상 계정으로 복제되기 전에 보조 장애 조치 그룹을 삭제하면 됩니다. 보조 장애 조치 그룹을 삭제하면 그룹에 포함되어 있던 읽기 전용 보조 데이터베이스는 대상 계정에서 독립 실행형 읽기-쓰기 데이터베이스가 됩니다.

ADD external_volume_name [ , external_volume_name , ... ] TO ALLOWED_EXTERNAL_VOLUMES

복제 및 장애 조치에 사용할 추가 외부 볼륨 목록을 쉼표로 구분해 지정합니다. 외부 볼륨을 추가하려면 EXTERNAL VOLUMES가 지정된 객체 유형 목록에 포함되어 있어야 합니다. 객체 유형 목록에 EXTERNAL VOLUMES가 아직 포함되어 있지 않다면 EXTERNAL VOLUMES를 추가해야 합니다.

external_volume_name

외부 볼륨의 식별자를 지정합니다.

MOVE EXTERNAL VOLUMES external_volume_name [ , external_volume_name , ... ] TO FAILOVER GROUP move_to_fg_name

외부 볼륨을 한 장애 조치 그룹에서 다른 장애 조치 그룹으로 이동할 목록을 쉼표로 구분해 지정합니다. 외부 볼륨이 이동될 장애 조치 그룹에는 지정된 객체 유형 목록에 EXTERNAL VOLUMES가 포함되어 있어야 합니다.

db_name

외부 볼륨의 식별자를 지정합니다.

move_to_fg_name

외부 볼륨이 이동될 장애 조치 그룹의 식별자를 지정합니다.

REMOVE external_volume_name [ , external_volume_name , ... ] FROM ALLOWED_EXTERNAL_VOLUMES

복제 및 장애 조치에 사용하도록 설정된 외부 볼륨 목록에서 제거할 외부 볼륨 목록을 쉼표로 구분해 지정합니다.

기본 장애 조치 그룹에서 외부 볼륨을 제거하면 다음 새로 고침 작업이 발생할 때 연결된 보조 장애 조치 그룹이 있는 모든 대상 계정에서 해당 외부 볼륨이 삭제됩니다.

대상 계정에서 외부 볼륨이 삭제되지 않도록 하려면 수정된 기본 장애 조치 그룹이 대상 계정으로 복제되기 전에 보조 장애 조치 그룹을 삭제하면 됩니다. 보조 장애 조치 그룹을 삭제하면 그룹에 포함되어 있던 읽기 전용 보조 외부 볼륨은 대상 계정에서 독립 실행형 읽기-쓰기 외부 볼륨이 됩니다.

ADD share_name [ , share_name , ... ] TO ALLOWED_SHARES

복제 및 장애 조치에 사용할 추가 공유 목록을 쉼표로 구분해 지정합니다. 공유를 추가하려면 SHARES가 지정된 객체 유형 목록에 포함되어 있어야 합니다. 객체 유형 목록에 SHARES가 아직 포함되어 있지 않다면 SHARES를 추가해야 합니다.

share_name

공유의 식별자를 지정합니다.

MOVE SHARES share_name [ , share_name , ... ] TO FAILOVER GROUP move_to_fg_name

공유를 한 장애 조치 그룹에서 다른 장애 조치 그룹으로 이동할 목록을 쉼표로 구분해 지정합니다. 공유가 이동될 장애 조치 그룹에는 지정된 객체 유형 목록에 SHARES가 포함되어 있어야 합니다.

share_name

공유의 식별자를 지정합니다.

move_to_fg_name

공유가 이동될 장애 조치 그룹의 식별자를 지정합니다.

REMOVE share_name [ , share_name , ... ] FROM ALLOWED_SHARES

복제 및 장애 조치에 사용하도록 설정된 공유 목록에서 제거할 공유 목록을 쉼표로 구분해 지정합니다.

기본 장애 조치 그룹에서 공유를 제거하면 다음 새로 고침 작업이 발생할 때 보조 장애 조치 그룹이 있는 모든 대상 계정에서 해당 공유가 삭제됩니다.

ADD org_name.target_account_name [ , org_name.target_account_name , ... ] TO ALLOWED_ACCOUNTS

원본 계정의 지정된 객체를 대상 계정으로 복제 및 장애 조치할 수 있도록 기본 장애 조치 그룹에 추가할 대상 계정 목록을 쉼표로 구분해 지정합니다. 이 목록에 있는 대상 계정의 보조 장애 조치 그룹은 장애 조치 시 기본 장애 조치 그룹 역할을 하도록 승격될 수 있습니다.

org_name

Snowflake 조직의 이름입니다.

target_account_name

지정된 객체의 복제를 활성화하는 대상 계정입니다.

REMOVE org_name.target_account_name [ , org_name.target_account_name , ... ] FROM ALLOWED_ACCOUNTS

원본 계정의 지정된 객체를 대상 계정으로 복제하지 않도록 기본 장애 조치 그룹에서 제거할 대상 계정 목록을 쉼표로 구분해 지정합니다. 대상 계정을 제거하면 현재 계정에서 해당 대상 계정으로의 장애 조치가 비활성화됩니다.

org_name

Snowflake 조직의 이름입니다.

target_account_name

지정된 객체의 복제를 비활성화하는 대상 계정입니다.

IGNORE EDITION CHECK

다음 시나리오에서 계정으로 객체를 복제할 수 있도록 허용합니다.

기본 failover 그룹이 Business Critical(또는 그 이상) 계정에 있고, HIPAA 및 HITRUST 규정에 따라 계정에 PHI 데이터를 저장하기 위한 서명된 업무 제휴 계약(business associate agreement)이 체결되어 있어요. 하지만 복제가 승인된 하나 이상의 계정에는 그러한 계약이 체결되어 있지 않아요. 해당 계정들이 Business Critical(또는 그 이상) 계정인지와는 관계없이요.

이 시나리오는 기본적으로 금지되어 있어요.

대상 계정

name

failover 그룹의 식별자를 지정해요.

REFRESH

소스 계정에서 대상(현재) 계정의 객체를 새로 고쳐요.

PRIMARY

보조 failover 그룹과 대상(현재) 계정의 지정된 객체를 기본으로 승격해요(장애 조치 시).

SUSPEND [ IMMEDIATE ]

보조 failover 그룹의 예약된 새로 고침을 일시 중단해요(기본 failover 그룹에 REPLICATION_SCHEDULE 속성을 사용한 예약 새로 고침이 있는 경우).

선택적 IMMEDIATE 키워드는 보조 failover 그룹에 대해 현재 진행 중인 예약된 새로 고침 작업을 취소해요(있는 경우). 문이 반환된 시점과 새로 고침 작업 취소가 완료되는 시점 사이에 약간의 지연이 있을 수 있어요.

RESUME

보조 failover 그룹의 예약된 새로 고침을 재개해요(기본 failover 그룹에 REPLICATION_SCHEDULE 속성을 사용한 예약 새로 고침이 있는 경우).

UNSET ...

failover 그룹에 대해 하나(또는 여러 개)의 속성을 설정 해제하여 기본값으로 재설정해요:

  • COMMENT
  • REPLICATION_SCHEDULE
  • OPTIMIZED_REFRESH
  • ERROR_INTEGRATION
  • TAG tag_name [ , tag_name ... ]

단일 ALTER 문으로 여러 속성을 재설정할 수 있어요. 단, 각 속성은 쉼표로 구분해야 해요. 또한 속성을 재설정할 때는 이름만 지정하면 되고 값은 필요 없어요.

사용 참고 사항

  • 다음 최소 권한이 필요해요:

    • ALTER FAILOVER GROUP ... REFRESH를 사용하여 보조 failover 그룹을 새로 고치려면 활성 기본 역할(active primary role)에 failover 그룹에 대한 OWNERSHIP 또는 REPLICATE 권한이 있어야 해요.
    • ALTER FAILOVER GROUP ... PRIMARY를 사용하여 보조 failover 그룹을 장애 조치하려면 역할에 failover 그룹에 대한 OWNERSHIP 또는 FAILOVER 권한이 있어야 해요.
    • failover 그룹에 다른 변경을 하려면 그룹에 대한 OWNERSHIP 권한이 있는 역할만 이 SQL 명령을 실행할 수 있어요.
    • failover 그룹에 데이터베이스를 추가하려면 활성 역할에 데이터베이스에 대한 MONITOR 권한이 있어야 해요.
    • replication 그룹에 외부 볼륨을 추가하려면 활성 역할에 외부 볼륨에 대한 USAGE 권한이 있어야 해요.
    • failover 그룹에 공유를 추가하려면 활성 역할에 공유에 대한 OWNERSHIP 권한이 있어야 해요.
  • 계정 내 failover 그룹과 replication 그룹의 식별자는 고유해야 해요.

  • 데이터베이스, 외부 볼륨, 공유 외의 객체는 동일한 failover 그룹에 있어야 해요.

  • 데이터베이스는 하나의 failover 그룹에만 추가할 수 있어요.

  • 외부 볼륨은 하나의 failover 그룹에만 추가할 수 있어요.

  • 인바운드 공유(프로바이더의 공유)는 replication 또는 failover 그룹에 추가할 수 없어요.

  • 새로 고침이 진행 중이면 보조 failover 그룹을 기본으로 승격하는 작업(장애 조치 시)은 실패해요.

  • replication 일정이 업데이트될 때 새로 고침이 진행 중이면 해당 새로 고침은 완료될 때까지 계속되고, 다음 새로 고침부터 새 일정이 적용돼요.

  • 장애 조치 시 모든 보조 failover 그룹의 예약된 새로 고침이 일시 중단돼요. 자동 새로 고침을 재개하려면 각 보조 그룹에서 ALTER FAILOVER GROUP ... RESUME을 실행해야 해요.

  • 데이터베이스, 외부 볼륨 또는 공유를 한 failover 그룹(이동 원본 그룹)에서 다른 failover 그룹(이동 대상 그룹)으로 이동하려면:

    • 두 그룹 모두 동일한 유형이어야 해요: FAILOVER GROUP.
    • 이동 원본 그룹의 마지막 데이터베이스가 다른 그룹으로 이동되면 이동 원본 그룹의 allowed_databases 속성이 NULL로 설정돼요. 공유와 외부 볼륨에도 동일한 동작이 적용돼요.
    • 이동 대상 그룹의 object_types 목록에 이동하려는 객체 유형(databases, external volumes, shares)이 없으면 객체를 이동하기 전에 해당 유형을 이동 대상 그룹에 명시적으로 추가해야 해요.
  • 기본 failover 그룹에서 데이터베이스, 외부 볼륨 또는 공유 객체를 제거하면(REMOVE 매개 변수나 SET 매개 변수를 사용하여 ALLOWED_DATABASES, ALLOWED_EXTERNAL_VOLUMES, ALLOWED_SHARES 목록을 수정하는 경우), 다음 새로 고침 작업이 발생할 때 해당 객체가 모든 대상 계정에서 삭제돼요.

    대상 계정에서 이러한 객체가 삭제되는 것을 방지하려면 수정된 기본 failover 그룹이 대상 계정으로 복제되기 전에 보조 failover 그룹을 삭제하면 돼요.

  • 조직에서 복제가 활성화된 계정 목록을 확인하려면 SHOW REPLICATION ACCOUNTS 명령을 사용해요.

  • 조직의 failover 그룹 목록을 확인하려면 SHOW FAILOVER GROUPS를 사용해요.

  • 자동으로 예약된 새로 고침 작업은 그룹에 대한 OWNERSHIP 권한이 있는 역할을 사용하여 실행돼요. 예약된 새로 고침 작업이 권한 부족으로 실패하면 그룹에 대한 OWNERSHIP 권한이 있는 역할에 필요한 권한을 부여해요.

  • ALTER FAILOVER GROUP ... SUSPEND IMMEDIATE 명령은 수동으로 트리거된 진행 중인 새로 고침 작업을 취소하지 않아요. 자세한 내용은 을 참조해요.

  • SECONDARY_DOWNLOADING_METADATA 또는 SECONDARY_DOWNLOADING_DATA 단계에 있는 진행 중인 새로 고침 작업을 취소하면 대상 계정에 일관되지 않은 상태가 발생할 수 있어요. 자세한 내용은 을 참조해요.

  • 태그를 사용하여 복제 또는 장애 조치 그룹을 만들거나, 태그를 설정하여 복제 또는 장애 조치 그룹을 수정하는 경우, tag inheritance는 복제 또는 장애 조치 그룹에서 지정한 어떤 객체에도 적용되지 않아요.

    태그 상속은 parent-child relationship이 있는 객체(예: 데이터베이스, 스키마, 테이블)에만 적용돼요. 복제 또는 장애 조치 그룹에는 하위 객체가 없어요.

  • 보조 복제 또는 장애 조치 그룹에는 태그를 설정하거나 수정할 수 없어요. 이러한 객체는 읽기 전용이기 때문이에요.

  • 보조 복제 또는 장애 조치 그룹을 새로 고치면 기본 그룹에 설정된 모든 태그가 보조 그룹에도 설정돼요.

  • 메타데이터 관련:

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

예제

소스 계정에서 실행

지정된 객체의 복제와 소스 계정에서의 장애 조치가 활성화되는 대상 계정 목록에 myorg.myaccount3를 추가해요.

ALTER FAILOVER GROUP myfg ADD myorg.myaccount3 TO ALLOWED_ACCOUNTS;

소스 계정에서 복제를 위한 객체 유형 목록을 재설정하고 데이터베이스 db1을 추가해요:

ALTER FAILOVER GROUP myfg SET
  OBJECT_TYPES = USERS, ROLES, WAREHOUSES, RESOURCE MONITORS, DATABASES
  ALLOWED_DATABASES = db1;

데이터베이스 목록에 데이터베이스 db2db3를 추가해요:

ALTER FAILOVER GROUP myfg
  ADD db2, db3 TO ALLOWED_DATABASES;

데이터베이스 db3를 다른 장애 조치 그룹인 myfg2로 이동해요:

ALTER FAILOVER GROUP myfg
  MOVE DATABASES db3 TO FAILOVER GROUP myfg2;

myfg에 있는 데이터베이스 db2를 현재 데이터베이스가 없는 다른 장애 조치 그룹 myfg3로 이동해요:

  1. 먼저 object_typesdatabases를 추가해요:

    ALTER FAILOVER GROUP myfg3 SET
      OBJECT_TYPES = DATABASES, SHARES;
    
  2. db2myfg3로 이동해요:

    ALTER FAILOVER GROUP myfg
      MOVE DATABASES db2 TO FAILOVER GROUP myfg3;
    

소스 계정의 복제 및 장애 조치를 위한 데이터베이스 목록에서 모든 데이터베이스를 제거해요:

ALTER FAILOVER GROUP myfg
  SET ALLOWED_DATABASES = NULL;

자동 예약 새로 고침의 간격을 추가(또는 수정)해요:

ALTER FAILOVER GROUP myfg
  SET REPLICATION_SCHEDULE = '15 MINUTE';

기존 장애 조치 그룹을 optimized refresh으로 전환해요. 장애 조치 그룹에 6시간 요구 사항을 충족하는 REPLICATION_SCHEDULE이 아직 없다면 같은 문에서 설정하거나 조정해요:

ALTER FAILOVER GROUP myfg SET
  REPLICATION_SCHEDULE = '10 MINUTE'
  OPTIMIZED_REFRESH = TRUE;

장애 조치 그룹을 Replication Classic으로 다시 전환해요:

ALTER FAILOVER GROUP myfg UNSET OPTIMIZED_REFRESH;

대상 계정에서 실행

대상 계정의 장애 조치 그룹 myfg에 있는 객체를 새로 고쳐요:

ALTER FAILOVER GROUP myfg REFRESH;

현재 대상 계정의 보조 장애 조치 그룹을 기본으로 승격해요:

ALTER FAILOVER GROUP myfg PRIMARY;

자동 새로 고침을 일시 중지해요:

ALTER FAILOVER GROUP myfg SUSPEND;

더 알아보기 (Learn more)