ALTER SERVER ROLE(Transact-SQL)

 

THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse yesParallel Data Warehouse

서버 역할의 멤버 자격을 변경하거나 사용자 정의 서버 역할의 이름을 변경합니다. 고정 서버 역할은 이름을 바꿀 수 없습니다.

Topic link icon Transact-SQL 구문 표기 규칙

-- Syntax for SQL Server  
  
ALTER SERVER ROLE server_role_name   
{  
    [ ADD MEMBER server_principal ]  
  | [ DROP MEMBER server_principal ]  
  | [ WITH NAME = new_server_role_name ]  
} [ ; ]  

-- Syntax for Parallel Data Warehouse  
  
ALTER SERVER ROLE  server_role_name  ADD MEMBER login;  
  
ALTER SERVER ROLE  server_role_name  DROP MEMBER login;  

server_role_name
변경할 서버 역할의 이름입니다.

멤버 추가 server_principal
서버 역할에 지정한 서버 보안 주체를 추가합니다. server_principal 로그인 또는 사용자 정의 서버 역할 일 수 있습니다. server_principal 고정된 서버 역할, 데이터베이스 역할 또는 sa 수 없습니다.

DROP MEMBER server_principal
서버 역할에서 지정한 서버 보안 주체를 제거합니다. server_principal 로그인 또는 사용자 정의 서버 역할 일 수 있습니다. server_principal 고정된 서버 역할, 데이터베이스 역할 또는 sa 수 없습니다.

이름의 ** = ** new_server_role_name
사용자 정의 서버 역할의 새로운 이름을 지정합니다. 이 이름은 아직 서버에 없는 이름이어야 합니다.

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

역할 멤버 자격을 변경 하는 데 ALTER SERVER ROLE sp_addsrvrolemember 및 sp_dropsrvrolemember를 대체 합니다. 이러한 저장 프로시저는 더 이상 사용되지 않습니다.

sys.server_role_memberssys.server_principals 카탈로그 뷰를 쿼리하여 서버 역할을 볼 수 있습니다.

사용자 정의 서버 역할의 소유자를 변경 하려면 사용 ALTER AUTHORIZATION (TRANSACT-SQL)합니다.

필요한 ALTER ANY SERVER ROLE 사용자 정의 서버 역할의 이름을 변경 하려면 서버에 대 한 권한이 있습니다.

고정된 서버 역할

고정 서버 역할에 멤버를 추가하려면 고정 서버 역할의 멤버이거나 sysadmin 고정 서버 역할의 멤버여야 합니다.

System_CAPS_ICON_note.jpg 참고


CONTROL SERVERALTER ANY SERVER ROLE 실행할 권한이 없는 ALTER SERVER ROLE 고정된 서버 역할의 경우 및 ALTER 고정된 서버 역할에 권한을 부여할 수 없습니다.

사용자 정의 서버 역할

사용자 정의 서버 역할에 구성원을 추가할의 구성원 이어야는 sysadmin 고정 서버 역할 또는 CONTROL SERVER 또는 ALTER ANY SERVER ROLE 권한. 그렇지 않으면 있어야 ALTER 해당 역할에 대 한 권한이 있습니다.

System_CAPS_ICON_note.jpg 참고


고정 서버 역할과 달리 사용자 정의 서버 역할의 멤버는 기본적으로 동일한 역할에 멤버를 추가할 수 있는 사용 권한이 없습니다.

1. 서버 역할의 이름 변경

다음 예에서는 Product라는 서버 역할을 만든 다음 서버 역할 이름을 Production으로 변경합니다.

CREATE SERVER ROLE Product ;  
ALTER SERVER ROLE Product WITH NAME = Production ;  
GO  

2. 서버 역할에 도메인 계정 추가

다음 예제에서는 도메인 계정을 adventure-works\roberto0 라는 사용자 정의 서버 역할에 Production합니다.

ALTER SERVER ROLE Production ADD MEMBER [adventure-works\roberto0] ;  

3. 서버 역할에 SQL Server 로그인 추가

다음 예제에서는 추가 SQL Server 라는 로그인 Teddiskadmin 고정된 서버 역할입니다.

ALTER SERVER ROLE diskadmin ADD MEMBER Ted ;  
GO  

4. 서버 역할에서 도메인 계정 제거

다음 예제에서는 명명 된 도메인 계정을 제거 adventure-works\roberto0 라는 사용자 정의 서버 역할에서 Production합니다.

ALTER SERVER ROLE Production DROP MEMBER [adventure-works\roberto0] ;  

5. 서버 역할에서 SQL Server 로그인 제거

다음 예제에서는 제거 된 SQL Server 로그인 Ted 에서 diskadmin 고정된 서버 역할입니다.

ALTER SERVER ROLE Production DROP MEMBER Ted ;  
GO  

6. 로그인에 사용 권한을 부여하여 사용자 정의 서버 역할에 로그인 추가

다음 예에서는 TedProduction 사용자 정의 서버 역할에 다른 로그인을 추가할 수 있도록 허용합니다.

GRANT ALTER ON SERVER ROLE::Production TO Ted ;  
GO  

7. 역할 멤버 자격 보기

역할 멤버 자격을 보려면 사용 하 여는 서버 역할 (멤버) 페이지에서 SQL Server Management Studio 하거나 다음 쿼리를 실행 합니다.

SELECT SRM.role_principal_id, SP.name AS Role_Name,   
SRM.member_principal_id, SP2.name  AS Member_Name  
FROM sys.server_role_members AS SRM  
JOIN sys.server_principals AS SP  
    ON SRM.Role_principal_id = SP.principal_id  
JOIN sys.server_principals AS SP2   
    ON SRM.member_principal_id = SP2.principal_id  
ORDER BY  SP.name,  SP2.name  

8. 기본 구문

로그인을 추가 하는 다음 예제에서는 AnnaLargeRC 서버 역할입니다.

ALTER SERVER ROLE LargeRC ADD MEMBER Anna;  

9. 리소스 클래스에서 로그인을 제거 합니다.

다음 예제에서는의 Anna의 멤버 자격 삭제는 LargeRC 서버 역할입니다.

ALTER SERVER ROLE LargeRC DROP MEMBER Anna;  

서버 역할 (TRANSACT-SQL) 만들기
DROP SERVER ROLE (TRANSACT-SQL)
역할 (TRANSACT-SQL) 만들기
ALTER ROLE (TRANSACT-SQL)
DROP ROLE (TRANSACT-SQL)
보안 저장 프로시저 (TRANSACT-SQL)
보안 함수 (TRANSACT-SQL)
보안 주체 (데이터베이스 엔진)
sys.server_role_members (TRANSACT-SQL)
sys.server_principals (TRANSACT-SQL)

커뮤니티 추가 항목

추가
표시: