sp_droprole(Transact-SQL)
현재 데이터베이스에서 데이터베이스 역할을 제거합니다.
중요 |
---|
SQL Server 2005에서 sp_droprole은 DROP ROLE 문으로 대체되었습니다. sp_droprole은 이전 SQL Server 버전과의 호환성을 위해서만 포함되며 다음 버전에서는 지원되지 않을 수 있습니다. |
구문
sp_droprole [ @rolename= ] 'role'
인수
- [ @rolename = ] 'role'
현재 데이터베이스에서 제거할 데이터베이스 역할의 이름입니다. role은 sysname이며 기본값은 없습니다. role은 현재 데이터베이스에 반드시 있어야 합니다.
반환 코드 값
0(성공) 또는 1(실패)
주의
sp_droprole을 사용하여 데이터베이스 역할만 제거할 수 있습니다.
기존 멤버가 있는 데이터베이스 역할은 제거할 수 없습니다. 데이터베이스 역할을 제거하려면 먼저 데이터베이스 역할의 모든 멤버를 제거해야 합니다. 역할에서 사용자를 제거하려면 sp_droprolemember를 사용하십시오. 역할의 멤버가 계속 남아 있는 경우에는 sp_droprole이 해당 멤버를 표시합니다.
고정 역할 및 public 역할은 제거할 수 없습니다.
역할이 보안 개체를 소유하고 있는 경우에는 해당 역할을 제거할 수 없습니다. 보안 개체를 소유한 응용 프로그램 역할을 삭제하려면 먼저 보안 개체의 소유권을 이전하거나 보안 개체를 삭제해야 합니다. 제거하지 않아야 하는 개체의 소유자를 변경하려면 ALTER AUTHORIZATION을 사용하십시오.
사용자 정의 트랜잭션 내에서는 sp_droprole을 실행할 수 없습니다.
사용 권한
역할에 대한 CONTROL 권한이 필요합니다.
예
다음 예에서는 Sales 응용 프로그램 역할을 제거합니다.
EXEC sp_droprole 'Sales';
GO