ALTER REPLICATION GROUP¶
기존 복제 그룹 의 속성을 수정합니다.
원본 계정에서 다음 작업을 수행할 수 있습니다.
복제 그룹의 이름을 바꿉니다.
복제에 대해 활성화된 지정된 오브젝트 유형 목록을 재설정합니다.
보조 복제 그룹의 자동 새로 고침을 위한 복제 일정을 설정하거나 업데이트합니다.
복제 그룹에 다음 유형의 계정 오브젝트를 추가하거나 제거합니다.
데이터베이스
공유
보안 통합
API 통합
특정 유형의 알림 통합(통합 복제 참조)
복제가 활성화된 대상 계정을 추가하거나 제거합니다.
한 복제 그룹에서 다른 복제 그룹으로 데이터베이스 또는 공유를 이동합니다.
대상 계정에서 다음 작업을 수행할 수 있습니다.
원본 계정에서 대상 계정의 오브젝트를 새로 고칩니다.
예약된 복제를 일시 중단합니다.
예약된 복제를 재개합니다.
구문¶
원본 계정
ALTER REPLICATION GROUP [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER REPLICATION GROUP [ IF EXISTS ] <name> SET
[ OBJECT_TYPES = <object_type> [ , <object_type> , ... ] ]
[ REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name> SET
OBJECT_TYPES = INTEGRATIONS [ , <object_type> , ... ] ]
ALLOWED_INTEGRATION_TYPES = <integration_type_name> [ , <integration_type_name> ... ] ]
[ REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
ADD <db_name> [ , <db_name> , ... ] TO ALLOWED_DATABASES
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
MOVE DATABASES <db_name> [ , <db_name> , ... ] TO REPLICATION GROUP <move_to_rg_name>
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
REMOVE <db_name> [ , <db_name> , ... ] FROM ALLOWED_DATABASES
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
ADD <share_name> [ , <share_name> , ... ] TO ALLOWED_SHARES
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
MOVE SHARES <share_name> [ , <share_name> , ... ] TO REPLICATION GROUP <move_to_rg_name>
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
REMOVE <share_name> [ , <share_name> , ... ] FROM ALLOWED_SHARES
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
ADD <org_name>.<target_account_name> [ , <org_name>.<target_account_name> , ... ] TO ALLOWED_ACCOUNTS
[ IGNORE EDITION CHECK ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
REMOVE <org_name>.<target_account_name> [ , <org_name>.<target_account_name> , ... ] FROM ALLOWED_ACCOUNTS
대상 계정
ALTER REPLICATION GROUP [ IF EXISTS ] <secondary_name> REFRESH
ALTER REPLICATION GROUP [ IF EXISTS ] <secondary_name> SUSPEND
ALTER REPLICATION GROUP [ IF EXISTS ] <secondary_name> RESUME
매개 변수¶
원본 계정
name
복제 그룹의 식별자를 지정합니다.
RENAME TO new_name
new_name
복제 그룹의 새 식별자를 지정합니다. 다른 복제 또는 장애 조치 그룹에 대해 식별자가 이미 있는 경우 새 식별자를 사용할 수 없습니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
SET ...
복제 그룹에 대해 설정할 하나 이상의 속성을 지정합니다(공백, 쉼표 또는 새 줄로 구분). 설정할 수 있는 속성에 대한 자세한 내용은 CREATE REPLICATION GROUP 를 참조하십시오.
ADD db_name [ , db_name , ... ] TO ALLOWED_DATABASES
복제가 가능한 데이터베이스 목록에 추가할 데이터베이스에 대한, 쉼표로 구분된 목록을 지정합니다. 데이터베이스를 추가하려면, 지정된 오브젝트 유형 목록에 DATABASES가 포함되어야 합니다. 오브젝트 유형 목록에 DATABASES가 아직 포함되어 있지 않으면 추가해야 합니다.
db_name
데이터베이스의 식별자를 지정합니다.
MOVE DATABASES db_name [ , db_name , ... ] TO REPLICATION GROUP move_to_rg_name
한 복제 그룹에서 다른 복제 그룹으로 이동할 데이터베이스에 대한, 쉼표로 구분된 목록을 지정합니다. 데이터베이스가 이동되는 복제 그룹은 지정된 오브젝트 유형 목록에 DATABASES를 포함해야 합니다.
db_name
데이터베이스의 식별자를 지정합니다.
move_to_rg_name
데이터베이스가 이동되는 복제 그룹의 식별자를 지정합니다.
REMOVE db_name [ , db_name , ... ] FROM ALLOWED_DATABASES
복제가 활성화된 데이터베이스 목록에서 제거할 데이터베이스에 대한, 쉼표로 구분된 목록을 지정합니다.
ADD share_name [ , share_name , ... ] TO ALLOWED_SHARES
복제할 공유에 대한, 쉼표로 구분된 목록을 지정합니다. 공유를 추가하려면, 지정된 오브젝트 유형 목록에 SHARES가 포함되어야 합니다. 오브젝트 유형 목록에 SHARES가 아직 포함되어 있지 않으면 추가해야 합니다.
share_name
공유의 식별자를 지정합니다.
MOVE SHARES share_name [ , share_name , ... ] TO REPLICATION GROUP move_to_rg_name
한 복제 그룹에서 다른 복제 그룹으로 이동할 공유에 대한, 쉼표로 구분된 목록을 지정합니다. 공유가 이동되는 복제 그룹은 지정된 오브젝트 유형 목록에 SHARES를 포함해야 합니다.
share_name
공유의 식별자를 지정합니다.
move_to_rg_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
다음 시나리오 중 하나에서 하위 버전의 계정에 오브젝트를 복제할 수 있습니다.
데이터베이스 및/또는 공유 오브젝트만 있는 기본 복제 그룹은 Business Critical(또는 그 이상) 계정에 있지만, 복제가 승인된 하나 이상의 계정이 더 낮은 버전에 있습니다. Business Critical Edition은 극히 민감한 데이터가 있는 Snowflake 계정을 위한 것입니다.
임의의 오브젝트 유형 이 있는 기본 복제 그룹이 Business Critical(또는 그 이상) 계정에 있고, HIPAA 및 HITRUST 규정에 따라 계정에 PHI 데이터를 저장하기 위한 서명된 비즈니스 제휴 계약이 있습니다. 하지만 Business Critical(또는 그 이상) 계정인지 여부와 관계없이, 복제가 승인된 하나 이상의 계정에 대해 이러한 계약이 마련되어 있지 않습니다.
Business Critical(또는 그 이상) 계정의 계정 관리자가 실수로 민감한 데이터를 하위 에디션의 계정으로 복제하는 것을 방지하려고 두 가지 상황은 모두 기본적으로 금지됩니다.
대상 계정
secondary_name
복제 그룹의 식별자를 지정합니다.
REFRESH
원본 계정에서 대상(현재) 계정의 오브젝트를 새로 고칩니다.
SUSPEND
보조 복제 그룹의 예약된 새로 고침을 일시 중단합니다(기본 복제 그룹이
REPLICATION_SCHEDULE
속성을 사용하여 자동 예약된 새로 고침을 설정한 경우).참고
예약된 복제를 일시 중단해도 현재 진행 중인 새로 고침 작업은 일시 중단되지 않습니다. 현재 작업이 완료된 후 추가 새로 고침이 예약되지 않도록 일정을 일시 중단합니다.
RESUME
보조 복제 그룹의 예약된 새로 고침을 재개합니다(기본 복제 그룹이
REPLICATION_SCHEDULE
속성을 사용하여 자동 예약된 새로 고침을 설정한 경우).
사용법 노트¶
다음과 같은 최소 권한이 필요합니다.
ALTER REPLICATION GROUP … REFRESH를 사용하여 보조 복제 그룹을 새로 고치려면 역할에 복제 그룹에 대한 OWNERSHIP 또는 REPLICATE 권한이 있어야 합니다.
복제 그룹에 다른 변경 사항을 적용하려면, 그룹에 대한 OWNERSHIP 권한이 있는 역할의 사용자만 이 SQL 명령을 실행할 수 있습니다.
복제 그룹에 데이터베이스를 추가하려면 활성 역할에 데이터베이스에 대한 MONITOR 권한이 있어야 합니다.
복제 그룹에 공유를 추가하려면 활성 역할에 공유에 대한 OWNERSHIP 권한이 있어야 합니다.
계정의 장애 조치 그룹 및 복제 그룹에 대한 식별자는 고유해야 합니다.
데이터베이스 및 공유 이외의 오브젝트는 동일한 복제 그룹에 있어야 합니다.
데이터베이스는 하나의 복제 또는 장애 조치 그룹에만 추가할 수 있습니다.
한 복제 그룹(이동 출처 그룹)에서 다른 복제 그룹(이동 대상 그룹)으로 데이터베이스 또는 공유를 이동하려면:
두 그룹은 같은 유형, 즉 REPLICATION GROUP이어야 합니다.
이동 출처 그룹의 마지막 데이터베이스가 다른 그룹으로 이동되면 이동 출처 그룹의
allowed_databases
속성이 NULL로 설정됩니다. 동일한 동작이 공유에도 적용됩니다.object_types
목록에서 이동 중인 오브젝트 유형(databases
또는shares
)이 이동 대상 그룹에 없는 경우, 오브젝트를 이동하기 전에 해당 유형을 이동 대상 그룹에 명시적으로 추가해야 합니다.
복제가 활성화된 조직의 계정 목록을 검색하려면 SHOW REPLICATION ACCOUNTS 명령을 사용하십시오.
조직의 복제 그룹 목록을 검색하려면 SHOW REPLICATION GROUPS 명령을 사용하십시오.
allowed_accounts
열에는 원본 계정에서 복제가 활성화된 모든 대상 계정이 나열됩니다.메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
예¶
원본 계정에서 실행됨¶
원본 계정에서의 지정 오브젝트 복제가 활성화된 대상 계정 목록에 myorg.myaccount3
를 추가합니다.
ALTER REPLICATION GROUP myrg ADD myorg.myaccount3 TO ALLOWED_ACCOUNTS;
원본 계정에서 복제할 오브젝트 유형 목록 재설정:
ALTER REPLICATION GROUP myrg SET
OBJECT_TYPES = DATABASES, SHARES;
복제가 활성화된 데이터베이스 목록에 데이터베이스 db1
추가:
ALTER REPLICATION GROUP myrg
ADD db1 to ALLOWED_DATABASES;
복제가 활성화된 공유 목록에 s2
공유 추가:
ALTER REPLICATION GROUP myrg
ADD s2 TO ALLOWED_SHARES;
데이터베이스 db1
을 다른 복제 그룹 myrg2
로 이동:
ALTER REPLICATION GROUP myrg
MOVE DATABASES db1 TO REPLICATION GROUP myrg2;
예약된 새로 고침 간격 시간을 15분으로 설정:
ALTER REPLICATION GROUP myrg SET
REPLICATION_SCHEDULE = '15 MINUTE';
대상 계정에서 실행됨¶
대상 계정의 복제 그룹 myrg
에 있는 오브젝트 새로 고치기:
ALTER REPLICATION GROUP myrg REFRESH;
자동 새로 고침을 일시 중단:
ALTER REPLICATION GROUP myrg SUSPEND;