ALTER ROLE(Transact-SQL)

데이터베이스 역할에 멤버를 추가하거나 사용자 정의 데이터베이스 역할의 이름을 변경합니다.

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

구문

ALTER ROLE role_name
{
      [ ADD MEMBER database_principal ]
    | [ DROP MEMBER database_principal ]
    | WITH NAME = new_name
}

인수

  • role_name
    변경할 역할의 이름입니다.

  • ADD MEMBER database_principal
    데이터베이스 역할에 지정한 데이터베이스 보안 주체를 추가합니다. database_principal은 사용자 또는 사용자 정의 데이터베이스 역할이 될 수 있습니다. database_principal은 고정 데이터베이스 역할 또는 서버 보안 주체일 수 없습니다.

  • DROP MEMBER database_principal
    데이터베이스 역할에서 지정한 데이터베이스 보안 주체를 제거합니다. database_principal은 사용자 또는 사용자 정의 데이터베이스 역할이 될 수 있습니다. database_principal은 고정 데이터베이스 역할 또는 서버 보안 주체일 수 없습니다.

  • WITH NAME =new_name
    사용자 정의 역할의 새로운 이름을 지정합니다. 이 이름은 데이터베이스에 없는 이름이어야 합니다. 고정 데이터베이스 역할의 이름을 변경할 수 없습니다.

주의

데이터베이스 역할의 이름을 변경하더라도 역할의 ID 번호, 소유자 또는 사용 권한은 변경되지 않습니다.

데이터베이스 역할은 sys.database_role_members 및 sys.database_principals 카탈로그 뷰에 표시됩니다.

주의 사항주의

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)를 참조하십시오.

사용 권한

데이터베이스에 대한 ALTER ANY ROLE 권한, 역할에 대한 ALTER 권한 또는 db_securityadmin의 멤버 자격이 필요합니다. 고정 데이터베이스 역할에 멤버를 추가하려면 db_owner 고정 데이터베이스 역할의 멤버 자격이 필요합니다.

1.데이터베이스 역할의 이름 변경

다음 예에서는 buyers 역할의 이름을 purchasing으로 변경합니다.

USE AdventureWorks2012;
ALTER ROLE buyers WITH NAME = purchasing;
GO

2.역할 멤버 추가 및 제거

다음 예에서는 Sales라는 역할을 만든 다음 추가하고 Barry라는 사용자를 제거합니다.

CREATE ROLE Sales;
ALTER ROLE Sales ADD MEMBER Barry;
ALTER ROLE Sales DROP MEMBER Barry;

참고 항목

참조

CREATE ROLE(Transact-SQL)

DROP ROLE(Transact-SQL)

sp_addrolemember(Transact-SQL)

sys.database_role_members(Transact-SQL)

sys.database_principals(Transact-SQL)

개념

보안 주체(데이터베이스 엔진)