적용 대상: Microsoft Fabric의 SQL Server
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System(PDW)
SQL 데이터베이스
데이터베이스에서 역할을 제거합니다.
구문
SQL Server, Azure SQL Database, Azure SQL Managed Instance 및 Fabric SQL 데이터베이스에 대한 구문
DROP ROLE [ IF EXISTS ] role_name
Azure Synapse Analytics 및 병렬 데이터 웨어하우스용 구문
DROP ROLE role_name
인수
존재하는 경우
적용 대상: SQL Server (SQL Server 2016(13.x) ~ 현재 버전).
이미 있는 경우에만 역할을 조건적으로 삭제합니다.
role_name
데이터베이스에서 삭제할 역할을 지정합니다.
설명
보안 개체를 소유한 역할은 데이터베이스에서 삭제할 수 없습니다. 보안 개체를 소유한 데이터베이스 역할을 삭제하려면 먼저 해당 보안 개체의 소유권을 이전하거나 데이터베이스에서 해당 보안 개체를 삭제해야 합니다. 멤버가 있는 역할은 데이터베이스에서 삭제할 수 없습니다. 멤버가 있는 역할을 삭제하려면 먼저 해당 역할의 멤버를 제거해야 합니다.
데이터베이스 역할에서 멤버를 제거하려면 ALTER ROLE(Transact-SQL)을 사용합니다.
DROP ROLE을 사용하여 고정 데이터베이스 역할을 삭제할 수 없습니다.
역할 멤버 자격에 대한 내용은 sys.database_role_members 카탈로그 뷰에서 볼 수 있습니다.
비고
스키마는 데이터베이스 사용자와 동일하지 않습니다. 시스템 카탈로그 뷰를 사용하여 데이터베이스 사용자와 스키마 간의 차이점을 식별합니다.
서버 역할을 제거하려면 DROP SERVER ROLE(Transact-SQL)을 사용합니다.
사용 권한
데이터베이스에 대한 ALTER ANY ROLE 권한 또는 역할에 대한 CONTROL 권한 또는 db_securityadmin의 멤버 자격이 필요합니다.
예제
다음 예에서는 purchasing
데이터베이스에서 AdventureWorks2022
데이터베이스 역할을 삭제합니다.
DROP ROLE purchasing;
GO
참고 항목
CREATE ROLE(Transact-SQL)
ALTER ROLE(Transact-SQL)
보안 주체(데이터베이스 엔진)
EVENTDATA(Transact-SQL)
sp_addrolemember(Transact-SQL)
sys.database_role_members(Transact-SQL)
sys.database_principals(Transact-SQL)
보안 함수(Transact-SQL)