ALTER SERVER ROLE (Transact-SQL)

Dotyczy:programu SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAnalytics Platform System (PDW)

Zmienia członkostwo roli serwera lub zmienia nazwę roli serwera zdefiniowanej przez użytkownika. Stałe role serwera nie mogą być zmieniane nazwy.

Transact-SQL konwencje składni

Syntax

-- Syntax for SQL Server, Azure SQL Database, Azure SQL Managed Instance
  
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;  

Arguments

server_role_name

Czy nazwa roli serwera zostanie zmieniona?

DODAJ server_principal CZŁONKÓW

Dodaje określony princip serwera do roli serwera. server_principal może być logowaniem lub rolą serwera zdefiniowaną przez użytkownika. server_principal nie może być stałą rolą serwera, rolą bazy danych ani SA.

WYCOFAJ SIĘ server_principal

Usuwa określony princip serwera z roli serwera. server_principal może być logowaniem lub rolą serwera zdefiniowaną przez użytkownika. server_principal nie może być stałą rolą serwera, rolą bazy danych ani SA.

Z NAZWĄ =new_server_role_name

Określa nową nazwę roli serwera zdefiniowanej przez użytkownika. Ta nazwa nie może już istnieć na serwerze.

Remarks

Zmiana nazwy roli serwera zdefiniowanego przez użytkownika nie zmienia numeru ID, właściciela ani uprawnień roli.

Przy zmianie roli ALTER SERVER ROLE zastępuje sp_addsrvrolemember i sp_dropsrvrolemember. Te procedury przechowywane są wycofane.

Możesz zobaczyć role serwera, zapytując widoki sys.server_role_memberssys.server_principals katalogu.

Aby zmienić właściciela roli serwera zdefiniowanego przez użytkownika, użyj ALTER AUTHORIZATION (Transact-SQL).

W Azure SQL Database, musi ALTER SERVER ROLE być uruchamiany w bazie master danych.

Permissions

Wymaga ALTER ANY SERVER ROLE uprawnień na serwerze do zmiany nazwy roli serwera zdefiniowanej przez użytkownika.

Stałe role serwera

Aby dodać członka do stałej roli serwera, musisz być członkiem tej stałej roli serwera lub członkiem sysadmin stałej roli serwera.

Note

Uprawnienia CONTROL SERVER i ALTER ANY SERVER ROLE nie wystarczą do wykonania ALTER SERVER ROLE dla stałej roli serwera, a ALTER uprawnienia nie mogą być udzielane na stałej roli serwera.

Role serwerów definiowane przez użytkownika

Aby dodać członka do roli serwera zdefiniowanej przez użytkownika, musisz być członkiem stałej sysadmin roli serwera lub posiadać CONTROL SERVERALTER ANY SERVER ROLE uprawnienia. Albo musisz mieć ALTER zgodę na tę rolę.

Note

W przeciwieństwie do stałych ról serwerowych, członkowie roli serwera zdefiniowanej przez użytkownika nie mają z natury prawa do dodawania członków do tej samej roli.

Examples

A. Zmień nazwę roli serwera

Poniższy przykład tworzy rolę serwera o nazwie Product, a następnie zmienia nazwę roli serwera na .Production

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

B. Dodaj konto domenowe do roli serwera

Poniższy przykład dodaje konto domenowe nazwane adventure-works\roberto0 rolą serwera zdefiniowaną przez użytkownika o nazwie Production.

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

C. Dodaj logowanie SQL Server do roli serwera

Poniższy przykład dodaje logowanie Ted do SQL Server nazwane rolą stałego serweradiskadmin.

ALTER SERVER ROLE diskadmin ADD MEMBER Ted ;  
GO  

D. Usuń konto domenowe z roli serwera

Poniższy przykład usuwa konto domenowe o nazwie adventure-works\roberto0 z roli serwera zdefiniowanej przez użytkownika o nazwie Production.

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

E. Usuń logowanie do SQL Server z roli serwera

Poniższy przykład usuwa logowanie Ted do SQL Server z roli stałego serweradiskadmin.

ALTER SERVER ROLE Production DROP MEMBER Ted ;  
GO  

F. Przyznaj logowaniu uprawnienia do dodawania loginów do roli serwera zdefiniowanej przez użytkownika

Poniższy przykład pozwala Ted dodać inne logowania do roli serwera zdefiniowanej przez użytkownika o nazwie Production.

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

G. Zobacz członkostwo w roli

Aby zobaczyć członkostwo w rolach, użyj strony Server Role (Members) w SQL Server Management Studio lub wykonaj następujące zapytanie:

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  

Przykłady: Analytics Platform System (PDW)

H. Dodaj członka do roli serwera

Poniższy przykład dodaje logowanie Anna do roli serwera LargeRC .

ALTER SERVER ROLE LargeRC ADD MEMBER Anna;  

I. Usuń logowanie z klasy zasobów

Poniższy przykład pomija przynależność Anny do roli serwera LargeRC .

ALTER SERVER ROLE LargeRC DROP MEMBER Anna;  

Następne kroki