다음을 통해 공유


sp_droprole(Transact-SQL)

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

중요 정보중요

SQL Server 2005에서 sp_droprole은 DROP ROLE 문으로 대체되었습니다. sp_droprole은 이전 SQL Server 버전과의 호환성을 위해서만 포함되며 다음 버전에서는 지원되지 않을 수 있습니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

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