DROP ROLE(Transact-SQL)
데이터베이스에서 역할을 제거합니다.
구문
DROP ROLE role_name
인수
- role_name
데이터베이스에서 삭제할 역할을 지정합니다.
주의
보안 개체를 소유한 역할은 데이터베이스에서 삭제할 수 없습니다. 보안 개체를 소유한 데이터베이스 역할을 삭제하려면 먼저 해당 보안 개체의 소유권을 이전하거나 데이터베이스에서 해당 보안 개체를 삭제해야 합니다. 멤버가 있는 역할은 데이터베이스에서 삭제할 수 없습니다. 멤버가 있는 역할을 삭제하려면 먼저 해당 역할의 멤버를 제거해야 합니다.
데이터베이스 역할에서 멤버를 제거하려면 ALTER ROLE(Transact-SQL)을 사용합니다.
DROP ROLE을 사용하여 고정 데이터베이스 역할을 삭제할 수 없습니다.
역할 멤버 자격에 대한 내용은 sys.database_role_members 카탈로그 뷰에서 볼 수 있습니다.
주의 |
---|
SQL Server 2005부터 스키마 동작이 변경되었습니다. 이에 따라 스키마가 데이터베이스 사용자와 같다고 가정하는 코드에서 올바른 결과가 반환되지 않을 수 있습니다. sysobjects를 비롯한 이전 카탈로그 뷰는 CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION 등의 DDL 문이 사용된 데이터베이스에서 사용하지 않아야 합니다. 이러한 데이터베이스에서는 새 카탈로그 뷰를 대신 사용해야 합니다. 새 카탈로그 뷰에서는 SQL Server 2005에 도입된 보안 주체와 스키마의 분리를 고려하고 있습니다. 카탈로그 뷰에 대한 자세한 내용은 카탈로그 뷰(Transact-SQL)를 참조하십시오. |
서버 역할을 제거하려면 DROP SERVER ROLE(Transact-SQL)을 사용합니다.
사용 권한
데이터베이스에 대한 ALTER ANY ROLE 권한, 역할에 대한 CONTOL 권한 또는 db_securityadmin의 멤버 자격이 필요합니다.
예
다음 예에서는 데이터베이스 역할 purchasing을 AdventureWorks2012에서 삭제합니다.
USE AdventureWorks2012;
DROP ROLE purchasing;
GO
참고 항목
참조
sp_addrolemember(Transact-SQL)
sys.database_role_members(Transact-SQL)
sys.database_principals(Transact-SQL)