데이터베이스, 스키마, 계정 간에 arctic-extract 모델 복사

이 항목에서는 동일한 계정의 데이터베이스 또는 스키마 간이나 동일한 조직의 다른 계정 간에 미세 조정된 arctic-extract 모델을 복사하는 방법을 설명합니다. 예를 들어 개발 계정에서 프로덕션 계정으로 모델을 복사할 수 있습니다.

계정 내의 데이터베이스 및/또는 스키마 간에 모델 복사

  1. 소스 모델을 만든 역할을 사용하여 소스 모델에서 모델을 만듭니다.

    모델의 버전을 나열하려면 :doc:`/sql-reference/sql/show-versions-in-model`을 사용합니다.

    CREATE MODEL prod_db.prod_schema.invoices_model
      WITH VERSION V1
      FROM MODEL dev_db.dev_schema.invoices_source_model
        VERSION V1;
    
    Copy
  2. 선택 사항: 모델의 다른 버전을 추가합니다.

    ALTER MODEL prod_db.prod_schema.invoices_model
      ADD VERSION V2
      FROM MODEL dev_db.dev_schema.invoices_source_model
        VERSION V2;
    
    Copy
  3. prod_role 역할이 복사된 모델을 사용할 수 있도록 하려면 해당 역할에 모델에 대한 OWNERSHIP 권한을 부여합니다.

    GRANT OWNERSHIP ON MODEL prod_db.prod_schema.invoices_model
      TO ROLE prod_role;
    
    Copy

계정 간에 모델 복사

소스 계정의 모델을 동일한 조직에 있는 하나 이상의 대상 계정으로 복제할 수 있습니다. 복제에 대한 자세한 내용은 여러 계정에 걸쳐 복제 및 장애 조치 도입 섹션을 참조하십시오.

소스 계정에서 대상 계정으로 모델을 복제하려면 소스 계정에 복제 그룹을 생성하여 모델이 생성된 데이터베이스를 대상 계정으로 복제할 수 있도록 하고, 프로덕션 사용자 역할을 설정해야 합니다.

참고

복제 그룹을 생성하고 프로덕션 사용자 역할을 설정하려면 사용자에게 ACCOUNTADMIN 역할이 있어야 합니다.

모델이 생성된 데이터베이스 복제

  1. 소스 계정에 기본 복제 그룹을 만듭니다.

    CREATE REPLICATION GROUP models_replication_group
    OBJECT_TYPES = DATABASES
    ALLOWED_DATABASES = dev_db
    ALLOWED_ACCOUNTS = org.production_account;
    
    Copy
  2. 소스 계정의 기본 복제 그룹의 복제본으로 대상 계정에 보조 복제 그룹을 만듭니다.

    CREATE REPLICATION GROUP models_secondary_replication_group
    AS REPLICA OF org.dev_account.models_replication_group;
    
    Copy
  3. 소스 계정에서 대상 계정의 데이터베이스를 새로 고칩니다.

    ALTER REPLICATION GROUP models_secondary_replication_group REFRESH;
    
    Copy
  4. 선택 사항: 계정이 10분마다 자동으로 동기화되도록 보조 복제 그룹을 새로 고치는 일정을 지정합니다.

    ALTER REPLICATION GROUP models_secondary_replication_group
      SET REPLICATION_SCHEDULE = '10 MINUTE';
    
    Copy

프로덕션 사용자 역할 설정

대상 프로덕션 계정에서 작업하는 사용자(예: prod_role 역할이 있는 사용자)가 복제된 모델을 사용할 수 있도록 하려면 다음 단계를 따릅니다.

  1. 소스 데이터베이스 및 스키마에 대한 USAGE 권한과 해당 스키마의 모든 모델에 대한 소유권을 prod_role 역할에 부여합니다.

    GRANT USAGE ON DATABASE dev_db TO ROLE prod_role;
    GRANT USAGE ON SCHEMA dev_db.dev_schema TO ROLE prod_role;
    GRANT OWNERSHIP ON ALL MODELS IN SCHEMA dev_db.dev_schema TO ROLE prod_role;
    
    Copy
  2. 선택 사항: 복제할 모든 향후 모델에 대한 소유권을 부여합니다.

    GRANT OWNERSHIP ON ALL FUTURE MODELS IN SCHEMA dev_db.dev_schema TO ROLE prod_role;
    
    Copy

필수 권한을 부여한 후 prod_role 역할이 있는 사용자는 다음 단계를 따라야 합니다.

  1. 소스 모델에서 모델을 만듭니다.

    CREATE MODEL prod_db.prod_schema.invoices_model
      WITH VERSION V1
      FROM MODEL dev_db.dev_schema.invoices_source_model
        VERSION V1;
    
    Copy
  2. 선택 사항: 모델의 다른 버전을 추가합니다.

    ALTER MODEL prod_db.prod_schema.invoices_model
      ADD VERSION V2
      FROM MODEL dev_db.dev_schema.invoices_source_model
        VERSION V2;
    
    Copy

참고

대상 스키마의 모델은 복제된 데이터베이스의 모델과 별개의 모델 오브젝트입니다. 새 버전은 자동으로 복사되지 않으며, ALTER MODEL … ADD VERSION 를 사용하여 각 버전을 추가해야 합니다.