CREATE FAILOVER GROUP¶
시스템의 지정된 오브젝트의 새 장애 조치 그룹을 만듭니다.
자세한 내용은 여러 계정에 걸쳐 복제 및 장애 조치 도입 섹션을 참조하십시오
이 명령을 사용하여 다음을 수행할 수 있습니다.
원본 계정에 장애 조치 그룹을 생성하여, 지정된 오브젝트를 동일 조직의 대상 계정에 대해 복제 및 장애 조치를 활성화합니다.
동일 조직의 원본 계정에 있는 기본 장애 조치 그룹의 복제본으로서 대상 계정에 보조 장애 조치 그룹을 생성합니다.
구문¶
CREATE FAILOVER GROUP [ IF NOT EXISTS ] <name>
OBJECT_TYPES = <object_type> [ , <object_type> , ... ]
[ ALLOWED_DATABASES = <db_name> [ , <db_name> , ... ] ]
[ ALLOWED_SHARES = <share_name> [ , <share_name> , ... ] ]
[ ALLOWED_INTEGRATION_TYPES = <integration_type_name> [ , <integration_type_name> , ... ] ]
ALLOWED_ACCOUNTS = <org_name>.<target_account_name> [ , <org_name>.<target_account_name> , ... ]
[ IGNORE EDITION CHECK ]
[ REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]
보조 장애 조치 그룹
CREATE FAILOVER GROUP [ IF NOT EXISTS ] <secondary_name>
AS REPLICA OF <org_name>.<source_account_name>.<name>
매개 변수¶
name
장애 조치 그룹의 식별자를 지정합니다. 식별자는 알파벳 문자로 시작해야 하며 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
OBJECT_TYPES = object_type [ , object_type , ... ]
원본 계정에서 대상 계정으로 복제 및 장애 조치를 활성화하는 오브젝트의 유형(들)입니다.
다음 오브젝트 유형이 지원됩니다.
- ACCOUNT PARAMETERS:
모든 계정 수준 매개 변수. 여기에는 계정 매개 변수, 그리고 귀하의 계정에 대해 설정 할 수 있는 매개 변수가 포함됩니다.
- DATABASES:
오브젝트 유형 목록에 데이터베이스 오브젝트를 추가합니다. 데이터베이스 오브젝트가 지정 오브젝트 유형 목록에 포함된 경우
ALLOWED_DATABASES
매개 변수를 설정해야 합니다.- INTEGRATIONS:
현재는 보안, API, 저장소 [1], 외부 액세스 [2], 특정 유형의 알림 통합만 지원됩니다. 자세한 내용은 통합 복제 섹션을 참조하십시오.
통합 오브젝트가 지정 오브젝트 유형 목록에 포함된 경우
ALLOWED_INTEGRATION_TYPES
매개 변수를 설정해야 합니다.- NETWORK POLICIES:
원본 계정의 모든 네트워크 정책.
- RESOURCE MONITORS:
원본 계정의 모든 리소스 모니터.
- ROLES:
원본 계정의 모든 역할. 역할 복제에는 복제 그룹에 포함된 오브젝트 유형에 대한 모든 권한 부여가 암시적으로 포함됩니다. 예를 들어
ROLES
항목이 복제되는 유일한 오브젝트 유형인 경우, 역할 계층 구조(즉, 다른 역할에 부여된 역할)만 대상 계정에 복제됩니다.USERS
오브젝트 유형도 포함된 경우, 그러면 사용자에게 부여된 역할도 복제됩니다.- SHARES:
오브젝트 유형 목록에 공유 오브젝트를 추가합니다. 공유 오브젝트가 지정 오브젝트 유형 목록에 포함된 경우
ALLOWED_SHARES
매개 변수를 설정해야 합니다.- USERS:
원본 계정의 모든 사용자.
- WAREHOUSES:
원본 계정의 모든 웨어하우스.
복제된 오브젝트 유형의 목록을 지정된 대상 계정으로 수정하려면 ALTER FAILOVER GROUP 항목을 사용하여 오브젝트 유형 목록을 재설정합니다.
ALLOWED_DATABASES = db_name [ , db_name , ... ]
원본 계정에서 대상 계정으로 복제 및 장애 조치를 활성화하는 데이터베이스 또는 데이터베이스 목록을 지정합니다. 이 매개 변수를 설정하려면
OBJECT_TYPES
목록에DATABASES
가 포함되어야 합니다.db_name
데이터베이스의 식별자를 지정합니다.
ALLOWED_SHARES = share_name [ , share_name , ... ]
원본 계정에서 대상 계정으로 복제 및 장애 조치를 활성화하는 공유 또는 공유 목록을 지정합니다. 이 매개 변수를 설정하려면
OBJECT_TYPES
목록에SHARES
가 포함되어야 합니다.share_name
공유의 식별자를 지정합니다.
ALLOWED_INTEGRATION_TYPES = integration_type_name [ , integration_type_name , ... ]
원본 계정에서 대상 계정으로 복제 및 장애 조치를 활성화하는 통합 유형(들)입니다.
이 속성은 이 매개 변수를 설정하기 위해
OBJECT_TYPES
목록에INTEGRATIONS
항목을 포함할 것을 요구합니다.다음 통합 유형이 지원됩니다.
- SECURITY INTEGRATIONS:
보안 통합을 지정합니다.
이 속성은
OBJECT_TYPES
목록에ROLES
항목을 포함할 것을 요구합니다.- API INTEGRATIONS:
API 통합을 지정합니다.
API 통합 복제는 API 통합이 대상 계정에 복제된 후 추가 설정이 필요합니다. 자세한 내용은 API 통합을 위해 원격 서비스 업데이트하기 섹션을 참조하십시오.
- STORAGE INTEGRATIONS:
저장소 통합을 지정합니다.
- EXTERNAL ACCESS INTEGRATIONS:
외부 액세스 통합 을 지정합니다.
자세한 내용은 저장 프로시저 및 사용자 정의 함수(UDF)의 복제 섹션을 참조하십시오.
참고
Gov 리전에서는 외부 액세스가 지원되지 않습니다.
- NOTIFICATION INTEGRATIONS:
알림 통합을 지정합니다.
일부 유형의 알림 통합만 복제됩니다. 자세한 내용은 통합 복제 섹션을 참조하십시오.
ALLOWED_ACCOUNTS = org_name.target_account_name [ , org_name.target_account_name , ... ]
원본 계정에서 지정 오브젝트의 복제 및 장애 조치가 활성화된 대상 계정 또는 대상 계정 목록을 지정합니다. 이 목록의 대상 계정에 있는 보조 장애 조치 그룹은 장애 조치 시 기본 장애 조치 그룹으로 승격될 수 있습니다.
org_name
Snowflake 조직의 이름입니다.
target_account_name
지정된 오브젝트의 복제를 활성화하는 대상 계정입니다.
IGNORE EDITION CHECK
다음 시나리오에서 계정에 오브젝트를 복제할 수 있습니다.
기본 장애 조치 그룹이 Business Critical(또는 그 이상) 계정에 있고, HIPAA 및 HITRUST 규정에 따라 계정에 PHI 데이터를 저장하기 위한 서명된 비즈니스 제휴 계약이 있습니다. 하지만 Business Critical(또는 그 이상) 계정인지 여부와 관계없이, 복제가 승인된 하나 이상의 계정에 대해 이러한 계약이 마련되어 있지 않습니다.
이 시나리오는 기본적으로 금지됩니다.
REPLICATION_SCHEDULE ...
보조 장애 조치 그룹을 새로 고치는 일정을 지정합니다.
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 식에 포함된 경우, 일자 또는 요일 중 하나를 만족하는 날짜에 새로 고침이 예약됩니다. 예를 들어,
SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC'
는 해당 월의 10일에서 20일 사이에서 0AM에 새로 고침을 예약하고 해당 날짜 이외의 모든 화요일이나 목요일에도 작업을 예약합니다.
num MINUTE
새로 고침 사이의 대기 시간 간격(분)을 지정합니다. 양의 정수만 허용합니다.
또한
num M
구문을 지원합니다.모호성을 피하기 위해 다음과 같은 경우에 기본 간격 시간 이 설정됩니다.
(CREATE <오브젝트>를 사용하여) 오브젝트를 생성할 때 또는
(ALTER <오브젝트> … SET REPLICATION_SCHEDULE을 사용하여) 다른 간격을 설정할 때
기본 간격 시간은 현재 시계 시간부터 간격 카운터를 시작합니다. 예를 들어,
10
의 INTERVAL 값이 설정되고, 예약된 새로 고침이 오전 9:03에 활성화된 경우 새로 고침은 오전 9:13, 오전 9:23와 같은 방식으로 실행됩니다. 당사는 절대 정밀도를 보장하기 위해 최선을 다하지만, 설정된 간격이 발생하기 전에 새로 고침이 실행되지 않는다는 것만 보장합니다(예: 현재 예에서 새로 고침은 오전 9:14에 처음 실행될 수 있지만, 오전 9:12에는 확실히 실행되지 않음).참고
지원되는 최대값은
11520
(8일)입니다. 복제 일정이 더 큰num MINUTE
값을 가질 경우 새로 고침 작업이 실행되지 않습니다.
보조 장애 조치 그룹 매개 변수
secondary_name
보조 장애 조치 그룹의 식별자를 지정합니다. 식별자는 알파벳 문자로 시작해야 하며 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다. 자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.보조 장애 조치 그룹(
secondary_name
) 및 기본 장애 조치 그룹(name
)의 식별자는 동일할 수 있지만, 반드시 동일할 필요는 없습니다.AS REPLICA OF org_name.source_account_name.name
보조 장애 조치 그룹을 생성할 기본 장애 조치 그룹의 식별자를 지정합니다.
org_name
Snowflake 조직의 이름입니다.
source_account_name
지정된 오브젝트의 복제 및 장애 조치를 활성화하는 원본 계정입니다.
name
원본 계정의 기본 장애 조치 그룹에 대한 식별자입니다.
액세스 제어 요구 사항¶
이 SQL 명령을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
CREATE FAILOVER GROUP |
계정 |
Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed. |
MONITOR |
데이터베이스 |
장애 조치 그룹에 데이터베이스를 추가하려면 활성 역할에 데이터베이스에 대한 MONITOR 권한이 있어야 합니다. |
OWNERSHIP |
공유 |
장애 조치 그룹에 공유를 추가하려면 활성 역할에 공유에 대한 OWNERSHIP 권한이 있어야 합니다. |
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
계정의 장애 조치 그룹 및 복제 그룹에 대한 식별자는 고유해야 합니다.
데이터베이스 및 공유 이외의 오브젝트는 동일한 장애 조치 그룹에 있어야 합니다.
데이터베이스는 하나의 장애 조치 그룹에만 추가할 수 있습니다.
인바운드 공유 (공급자의 공유)는 복제 또는 장애 조치 그룹에 추가할 수 없습니다.
복제가 활성화된 조직의 계정 집합을 검색하려면 SHOW REPLICATION ACCOUNTS 항목을 사용하십시오.
조직의 장애 조치 그룹 목록을 검색하려면 SHOW FAILOVER GROUPS 항목을 사용하십시오.
대상 계정에 복제 중에 삭제하고 싶지 않은 계정 오브젝트(예: 사용자 또는 역할)가 있는 경우 SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME 시스템 함수를 사용하여 복제 이외의 방법으로 생성된 오브젝트에 전역 식별자를 적용합니다. 자세한 내용은 장애 조치 그룹을 생성하기 전에 대상 계정의 스크립트에 의해 생성된 오브젝트에 전역 ID 적용하기 를 참조하십시오.
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
Business Critical Edition 이상으로 새로 업그레이드된 계정의 경우 장애 조치 기능을 사용할 수 있게 되기까지 최대 12시간이 걸릴 수 있습니다.
예¶
원본 계정에서 실행됨¶
원본 계정에 myfg
라는 장애 조치 그룹을 생성하고, 사용자, 역할, 웨어하우스, 리소스 모니터, 데이터베이스 db1
, 공유 s1
의 복제, 그리고 원본 계정에서 myaccount2
계정으로의 장애 조치를 활성화합니다.
CREATE FAILOVER GROUP myfg
OBJECT_TYPES = USERS, ROLES, WAREHOUSES, RESOURCE MONITORS, DATABASES, SHARES, INTEGRATIONS, NETWORK POLICIES
ALLOWED_DATABASES = db1
ALLOWED_SHARES = s1
ALLOWED_INTEGRATION_TYPES = SECURITY INTEGRATIONS
ALLOWED_ACCOUNTS = myorg.myaccount2
REPLICATION_SCHEDULE = '10 MINUTE';
대상 계정에서 실행됨¶
대상 계정에 장애 조치 그룹을 원본 계정에 있는 장애 조치 그룹 myfg
의 복제본으로서 생성합니다.
CREATE FAILOVER GROUP myfg
AS REPLICA OF myorg.myaccount1.myfg;