적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric
의 SQL 분석 엔드포인트Microsoft Fabric
의 웨어하우스Microsoft Fabric의 SQL 데이터베이스
데이터베이스 역할에 멤버를 추가하거나 데이터베이스 역할에서 멤버를 제거하거나 사용자 정의 데이터베이스 역할의 이름을 변경합니다.
Note
Azure Synapse Analytics 및 PDW(Analytics Platform System)의 역할에서 멤버를 추가하거나 삭제하려면 sp_addrolemember(Transact-SQL) 및 sp_droprolemember(Transact-SQL)를 사용합니다.
Syntax
SQL Server 구문(2012년부터), Azure SQL Managed Instance, Azure SQL Database 및 Microsoft Fabric.
ALTER ROLE role_name
{
ADD MEMBER database_principal
| DROP MEMBER database_principal
| WITH NAME = new_name
}
[;]
2012년 이전의 SQL Server 구문입니다.
-- Change the name of a user-defined database role
ALTER ROLE role_name
WITH NAME = new_name
[;]
Arguments
role_name
적용 대상: SQL Server(2008부터), Azure SQL Database, Azure SQL Managed Instance
변경할 데이터베이스 역할을 지정합니다.
회원 추가 database_principal
: SQL Server(2012부터 시작), Azure SQL Database, Azure SQL Managed Instance
데이터베이스 보안 주체를 데이터베이스 역할의 멤버 자격에 추가하도록 지정합니다.
database_principal은 데이터베이스 사용자 또는 사용자 정의 데이터베이스 역할입니다.
database_principal은 고정 데이터베이스 역할 또는 서버 보안 주체일 수 없습니다.
멤버 database_principal 드롭
: SQL Server(2012부터 시작), Azure SQL Database, Azure SQL Managed Instance
데이터베이스 역할의 멤버 자격에서 데이터베이스 보안 주체를 제거하도록 지정합니다.
database_principal은 데이터베이스 사용자 또는 사용자 정의 데이터베이스 역할입니다.
database_principal은 고정 데이터베이스 역할 또는 서버 보안 주체일 수 없습니다.
이름 = new_name
적용 대상: SQL Server(2008부터), Azure SQL Database, Azure SQL Managed Instance
사용자 정의 데이터베이스 역할의 이름을 변경하도록 지정합니다. 새 이름은 데이터베이스에 없는 이름이어야 합니다.
데이터베이스 역할의 이름을 변경하더라도 역할의 ID 번호, 소유자 또는 사용 권한은 변경되지 않습니다.
Permissions
이 명령을 실행하려면 다음 권한이나 멤버 자격 중 하나 이상이 필요합니다.
- 역할에 대한 ALTER 권한
- 데이터베이스에 대한 ALTER ANY ROLE 권한
- db_securityadmin 고정 데이터베이스 역할의 멤버 자격
또한, 고정 데이터베이스 역할의 멤버를 변경하려면 다음이 필요합니다.
- db_owner 고정 데이터베이스 역할의 멤버 자격
제한 사항
고정 데이터베이스 역할의 이름은 변경할 수 없습니다.
Metadata
이 시스템 뷰에는 데이터베이스 역할 및 데이터베이스 보안 주체에 대한 정보가 포함됩니다.
Examples
A. 데이터베이스 역할의 이름 변경
적용 대상: SQL Server(2008부터), Azure SQL Database, Azure SQL Managed Instance
다음 예에서는 buyers 역할의 이름을 purchasing으로 변경합니다. 이 예제에서는 AdventureWorks 예제 데이터베이스에서 실행할 수 있습니다.
ALTER ROLE buyers WITH NAME = purchasing;
B. 역할 멤버 추가 또는 제거
: SQL Server(2012부터 시작), Azure SQL Database, Azure SQL Managed Instance
다음 예에서는 Sales라는 데이터베이스 역할을 만듭니다. Barry라는 데이터베이스 사용자를 멤버 자격에 추가한 다음, Barry라는 멤버를 제거하는 방법을 보여줍니다. 이 예제에서는 AdventureWorks 예제 데이터베이스에서 실행할 수 있습니다.
CREATE ROLE Sales;
ALTER ROLE Sales ADD MEMBER Barry;
ALTER ROLE Sales DROP MEMBER Barry;
C. Azure SQL Database의 특수 역할에 역할 멤버 추가
적용 대상: Azure SQL Database
이 예에서는 가상 master 데이터베이스에 SQL 로그인을 만들고, 해당 서버 로그인과 관련된 데이터베이스 사용자를 만들고, 데이터베이스 사용자를 특수 역할 dbmanager의 멤버로 추가합니다. 이 예에서는 사용자가 Azure SQL Database 논리 서버에서 데이터베이스를 만들고 삭제할 수 있습니다. Azure SQL Database 논리 서버의 가상 master 데이터베이스에서 예제를 실행합니다.
CREATE LOGIN sqllogin_nlastname WITH password='aah3%#om1os';
CREATE USER sqllogin_nlastname FOR LOGIN sqllogin_nlastname
WITH DEFAULT_SCHEMA = master;
ALTER ROLE [dbmanager] add member sqllogin_nlastname;
또한 참조하십시오
CREATE ROLE(Transact-SQL)
보안 주체(데이터베이스 엔진)
DROP ROLE(Transact-SQL)
sp_addrolemember(Transact-SQL)
sys.database_role_members(Transact-SQL)
sys.database_principals(Transact-SQL)