DROP ROLE¶
시스템에서 지정된 역할을 제거합니다.
- 참고 항목:
구문¶
매개 변수¶
name삭제할 역할의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
사용법 노트¶
삭제된 역할은 복구할 수 없으며, 다시 만들어야 합니다.
현재 기본 역할은 제거할 수 없습니다. 이 역할을 제거하려고 하면 오류가 반환됩니다. 예:
자세한 내용은 활성 역할 및 기본 역할 및 보조 역할을 통한 승인 섹션을 참조하십시오.
공유 데이터베이스에 대한 OWNERSHIP 권한이 있는 역할은 삭제할 수 없습니다. GRANT OWNERSHIP 명령을 사용하여 공유 데이터베이스에 대한 OWNERSHIP 권한을 먼저 전송한 다음 역할을 삭제합니다.
삭제된 역할이 소유한 모든 오브젝트의 소유권은 DROP ROLE 명령을 실행하는 역할로 이전됩니다. 이러한 각 오브젝트의 소유권을 다른 역할로 이전하려면 GRANT OWNERSHIP … COPY CURRENT GRANTS 를 사용하십시오.
부여자 또는 피부여자로서 역할의 이름을 지정하는 현재 권한과 향후 권한의 부여는 전부 해당 역할을 삭제할 때 취소됩니다.
GRANTS_TO_ROLES Account Usage 뷰를 쿼리하여 지정된 역할을 부여자 또는 피부여자로 지정하는 권한 부여를 검색합니다.
다음 예에서는
myrole이 부여자 또는 피부여자인 권한 부여를 검색합니다.역할이 사용자에 대한 역할 부여자인 경우, 역할을 삭제하면 이러한 부여가 자동으로 취소됩니다.
DROP ROLE 명령을 실행하면 권한이 취소됩니다. 취소할 권한의 수가 수천 개나 수백만 개일 경우 DROP ROLE 명령 실행 시 시간 초과가 발생할 수 있습니다. 이 명령을 다시 실행하면 이전 호출이 중단된 지점에서 실행을 안전하게 계속할 수 있습니다.
IF EXISTS 절이 지정되고 대상 오브젝트가 존재하지 않는 경우 이 명령은 오류를 반환하지 않고 성공적으로 완료됩니다.
You can drop a role that’s in use by an object inside a backup. Doing so might take a long time if there are backups. That’s because Snowflake rewrites the metadata for grants associated with the objects inside backups when a role is dropped.