GRANT DATABASE ROLE … TO SHARE¶
공유에 데이터베이스 역할을 부여합니다. 데이터베이스 역할을 부여하면 단일 데이터베이스에 대한 권한이 공유에 효과적으로 추가되며, 그런 다음 이 권한을 하나 이상의 컨슈머 계정과 공유할 수 있습니다.
컨슈머는 공유에서 데이터베이스를 생성한 후 계정의 역할에 공유 데이터베이스 역할을 부여하여 해당 역할을 가진 사용자가 공유의 데이터베이스 오브젝트에 액세스하도록 허용할 수 있습니다.
자세한 내용은 Secure Data Sharing 정보 및 공유 생성 및 구성하기 섹션을 참조하십시오.
구문¶
GRANT DATABASE ROLE <name>
  TO SHARE <share_name>
매개 변수¶
- name
- 데이터베이스 역할의 식별자(즉, 이름)를 지정하며, 역할이 생성되는 데이터베이스에서 고유해야 합니다. - 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: - "My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.- 식별자가 - db_name.database_role_name형식으로 정규화되지 않은 경우 이 명령은 세션의 현재 데이터베이스에서 데이터베이스 역할을 찾습니다.
- share_name
- 지정된 데이터베이스 역할이 부여된 원본 공유의 식별자를 지정합니다. 
사용법 노트¶
- DDL 또는 기타 제한된 권한이 데이터베이스 역할에 부여된 경우 공유에 대한 데이터베이스 역할 부여가 실패합니다. 데이터베이스 역할은 데이터베이스와 해당 오브젝트에 대한 읽기 전용 활동을 위한 권한만 부여할 수 있습니다. 
- 공유 데이터베이스 역할은 향후 권한 부여를 지원하지 않습니다. Snowflake는 사용자가 수행하는 작업에 따라 다음과 같은 오류 메시지를 반환합니다. - 오브젝트에 대한 향후 권한을 데이터베이스 역할에 부여하고 데이터베이스 역할을 공유에 부여합니다. - GRANT SELECT ON FUTURE TABLES IN SCHEMA sh TO DATABASE ROLE dbr1; GRANT DATABASE ROLE dbr1 TO SHARE myshare; Copy- Cannot share a database role with future grants to it.
- 데이터베이스 역할을 공유에 부여하고 오브젝트에 대한 향후 권한을 데이터베이스 역할에 부여합니다. - GRANT DATABASE ROLE dbr1 TO SHARE myshare; GRANT SELECT ON FUTURE TABLES IN SCHEMA sh TO DATABASE ROLE dbr1; Copy- Cannot grant future grants to a database role that is granted to a share.
 - 이러한 오류 메시지를 방지하려면 다음 명령을 사용하여 데이터베이스 역할과 관련된 향후 권한 부여가 있는지 파악하십시오. - SHOW FUTURE GRANTS IN DATABASE parent_db; SHOW FUTURE GRANTS IN shared_schema; Copy
예¶
데이터베이스 d1 에서 공유 share1 에 데이터베이스 역할 dr1 을 부여합니다.
GRANT DATABASE ROLE d1.dr1 TO SHARE share1;Copy