적용 대상:SQL Server
Azure SQL Managed Instance
Azure Synapse Analytics
분석 플랫폼 시스템(PDW)
Microsoft Fabric 미리 보기의 SQL 데이터베이스
데이터베이스에서 역할을 제거합니다.
Syntax
SQL Server, Azure SQL Database, Azure SQL Managed Instance 및 Fabric SQL 데이터베이스에 대한 구문
DROP ROLE [ IF EXISTS ] role_name
Azure Synapse Analytics 및 병렬 데이터 웨어하우스용 구문
DROP ROLE role_name
Arguments
IF EXISTS
적용 대상: SQL Server (SQL Server 2016(13.x) ~ 현재 버전).
이미 있는 경우에만 역할을 조건적으로 삭제합니다.
role_name
데이터베이스에서 삭제할 역할을 지정합니다.
Remarks
보안 개체를 소유한 역할은 데이터베이스에서 삭제할 수 없습니다. 보안 개체를 소유한 데이터베이스 역할을 삭제하려면 먼저 해당 보안 개체의 소유권을 이전하거나 데이터베이스에서 해당 보안 개체를 삭제해야 합니다. 멤버가 있는 역할은 데이터베이스에서 삭제할 수 없습니다. 멤버가 있는 역할을 삭제하려면 먼저 해당 역할의 멤버를 제거해야 합니다.
데이터베이스 역할에서 멤버를 제거하려면 ALTER ROLE(Transact-SQL)을 사용합니다.
DROP ROLE을 사용하여 고정 데이터베이스 역할을 삭제할 수 없습니다.
역할 멤버 자격에 대한 내용은 sys.database_role_members 카탈로그 뷰에서 볼 수 있습니다.
Note
스키마는 데이터베이스 사용자와 동일하지 않습니다. 시스템 카탈로그 뷰를 사용하여 데이터베이스 사용자와 스키마 간의 차이점을 식별합니다.
서버 역할을 제거하려면 DROP SERVER ROLE(Transact-SQL)을 사용합니다.
Permissions
데이터베이스에 대한 ALTER ANY ROLE 권한 또는 역할에 대한 CONTROL 권한 또는 db_securityadmin의 멤버 자격이 필요합니다.
Examples
다음 예에서는 purchasing 데이터베이스에서 AdventureWorks2022 데이터베이스 역할을 삭제합니다.
DROP ROLE purchasing;
GO
See Also
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)