태그가 Snowflake 기능과 상호작용하는 방식

태그가 Snowflake 기능과 상호작용하는 방식

이 주제는 복제, 클로닝, 데이터 공유 같은 Snowflake 기능과 태그가 어떻게 상호작용하는지 설명해요.

출처: How tags interact with Snowflake features

본문

복제

태그와 태그 할당은 소스 계정에서 대상 계정으로 복제할 수 있어요.

소스 계정에서 처음 복제한 후에는 대상 계정에서 태그 할당을 수정할 수 없어요. 예를 들어 2차(즉, 복제된) 데이터베이스에 태그를 설정하는 것은 허용되지 않아요. 대상 계정에서 태그 할당을 수정하려면 소스 계정에서 수정한 후 대상 계정으로 복제하세요.

데이터베이스 복제의 경우 다음 조건 중 하나라도 참이면 복제 작업이 실패해요:

  • 주 데이터베이스가 Enterprise(이상) 계정에 있고 태그를 포함하지만, 복제가 승인된 계정 중 하나 이상이 더 낮은 에디션에 있음.
  • 주 데이터베이스에 포함된 객체가 다른 데이터베이스의 태그에 대한 매달린 참조(dangling reference)를 가짐.

매달린 참조 오류를 피하려면 복제 또는 장애 조치 그룹을 사용해 데이터베이스와 계정 수준 객체를 복제하세요. 복제 그룹에 다음 항목이 포함돼 있는지 확인하세요:

  • ALLOWED_DATABASES 속성의 태그를 포함하는 데이터베이스.
  • OBJECT_TYPES 속성(예: ROLES, WAREHOUSES)에 태그가 있는 다른 계정 수준 객체.

자세한 내용은 CREATE REPLICATION GROUP과 CREATE FAILOVER GROUP을 참조하세요.

복제 및 장애 조치 그룹이나 데이터베이스 복제를 사용할 때:

  • 장애 조치/장애 복구 기능은 Business Critical Edition(이상) 계정에서만 사용할 수 있어요. 자세한 내용은 여러 계정에 걸친 복제와 장애 조치 소개를 참조하세요.
  • ALTER DATABASE 문이나 복제/장애 조치 그룹용 CREATE OR ALTER 문에서 IGNORE EDITION CHECK 절을 지정하면, 대상 계정이 Business Critical보다 낮은 에디션일 때 태그 복제가 발생할 수 있어요.

자세한 내용은 이 명령들의 절 설명을 참조하세요.

클로닝

  • 소스 객체(예: 테이블)의 태그 연관은 클론된 객체에 유지돼요.
  • 데이터베이스나 스키마의 경우: 데이터베이스나 스키마가 클론되면 해당 스키마나 데이터베이스에 있는 태그도 함께 클론돼요. 소스 스키마/데이터베이스에 테이블이나 뷰가 존재하고 같은 스키마나 데이터베이스의 태그를 참조한다면, 클론된 테이블이나 뷰는 소스 스키마나 데이터베이스의 태그 대신 (대상 스키마/데이터베이스의) 해당 클론 태그에 매핑돼요.

데이터 공유

  • 공유 뷰와 태그가 서로 다른 데이터베이스에 존재할 때, 태그를 포함하는 데이터베이스에 대한 REFERENCE_USAGE 권한을 공유에 부여하세요. 자세한 내용은 여러 데이터베이스에서 데이터 공유를 참조하세요.

  • 데이터 공유 소비자 계정에서:

    • SHOW TAGS 명령을 실행하는 역할이 공유 태그를 포함하는 스키마에 대한 USAGE 권한을 가지고 있다면, SHOW TAGS 명령을 실행하면 공유 태그가 반환돼요.
    • 공급자가 태그에 대한 READ 권한을 공유나 공유 데이터베이스 역할에 부여하면, 소비자는 공유 태그에 대한 태그 할당을 볼 수 있어요. 자세한 내용은 공유 태그 참조를 참조하세요.
    • 데이터 공유 공급자 계정의 태그가 공유 테이블에 할당된 경우, 데이터 공유 소비자는 SYSTEM$GET_TAG 함수나 TAG_REFERENCES Information Schema 테이블 함수를 호출해 태그 할당을 볼 수 없어요.

더 알아보기