sp_droprole(Transact-SQL)
적용 대상: SQL Server
현재 데이터베이스에서 데이터베이스 역할을 제거합니다.
Important
SQL Server 2005(9.x) sp_droprole
에서 DROP ROLE 문으로 대체되었습니다. sp_droprole
는 이전 버전의 SQL Server와의 호환성을 위해서만 포함되며 향후 릴리스에서는 지원되지 않을 수 있습니다.
구문
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