다음을 통해 공유


DROP ROLE(Transact-SQL)

적용 대상: Microsoft Fabric의 SQL Server Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)SQL 데이터베이스

데이터베이스에서 역할을 제거합니다.

Transact-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)