다음을 통해 공유


sp_droprole(Transact-SQL)

적용 대상: SQL Server

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

Important

SQL Server 2005(9.x) sp_droprole 에서 DROP ROLE 문으로 대체되었습니다. sp_droprole 는 이전 버전의 SQL Server와의 호환성을 위해서만 포함되며 향후 릴리스에서는 지원되지 않을 수 있습니다.

Transact-SQL 구문 표기 규칙

구문

sp_droprole [ @rolename = ] N'rolename'
[ ; ]

인수

[ @rolename = ] N'rolename'

현재 데이터베이스에서 제거할 데이터베이스 역할의 이름입니다. @rolename 기본값이 없는 sysname입니다. @rolename 현재 데이터베이스에 이미 있어야 합니다.

반환 코드 값

0 (성공) 또는 1 (실패).

설명

를 사용하여 sp_droprole데이터베이스 역할만 제거할 수 있습니다.

기존 멤버가 있는 데이터베이스 역할은 제거할 수 없습니다. 데이터베이스 역할을 제거하려면 먼저 데이터베이스 역할의 모든 멤버를 제거해야 합니다. 역할에서 사용자를 제거하려면 .를 사용합니다 sp_droprolemember. 사용자가 여전히 역할 sp_droprole 의 멤버인 경우 해당 멤버를 표시합니다.

고정 역할 및 공용 역할은 제거할 수 없습니다.

보안 개체를 소유하는 역할은 제거할 수 없습니다. 보안 개체를 소유한 애플리케이션 역할을 삭제하려면 먼저 보안 개체의 소유권을 이전하거나 보안 개체를 삭제해야 합니다. 제거해서는 안 되는 개체의 소유자를 변경하는 데 사용합니다 ALTER AUTHORIZATION .

sp_droprole 는 사용자 정의 트랜잭션 내에서 실행할 수 없습니다.

사용 권한

CONTROL 역할에 대한 권한이 필요합니다.

예제

다음 예제에서는 애플리케이션 역할을 Sales제거합니다.

EXEC sp_droprole 'Sales';
GO