Freigeben über


ALTER SERVER ROLE (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Analytics Platform System (PDW)

Ändert die Mitgliedschaft einer Serverrolle oder ändert Namen einer benutzerdefinierten Serverrolle. Feste Serverrollen können nicht umbenannt werden.

Transact-SQL-Syntaxkonventionen

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;  

Argumente

server_role_name

Der Name der zu ändernden Serverrolle.

ADD MEMBER server_principal

Fügt der Serverrolle den angegebenen Serverprinzipal hinzu. server_principal kann eine Anmeldung oder eine benutzerdefinierte Serverrolle sein. server_principal darf keine feste Serverrolle, Datenbankrolle oder sa sein.

DROP MEMBER server_principal

Entfernt den angegebenen Serverprinzipal aus der Serverrolle. server_principal kann eine Anmeldung oder eine benutzerdefinierte Serverrolle sein. server_principal darf keine feste Serverrolle, Datenbankrolle oder sa sein.

WITH NAME =new_server_role_name

Gibt den neuen Namen der benutzerdefinierten Serverrolle an. Dieser Name darf nicht bereits auf dem Server vorhanden sein.

Bemerkungen

Durch das Ändern des Namens einer benutzerdefinierten Serverrolle werden die ID-Nummer, der Besitzer oder Berechtigungen der Rolle nicht geändert.

ALTER SERVER ROLE ändert die Rollenmitgliedschaft durch Ersetzen von sp_addsrvrolemember und sp_dropsrvrolemember. Diese gespeicherten Prozeduren sind veraltet.

Sie können Serverrollen anzeigen, indem Sie die sys.server_role_members- Katalogsicht und die sys.server_principals-Katalogsicht abfragen.

Mit ALTER AUTHORIZATION (Transact-SQL) können Sie den Besitzer einer benutzerdefinierten Serverrolle ändern.

In Azure SQL-Datenbank muss ALTER SERVER ROLE in der master-Datenbank ausgeführt werden.

Berechtigungen

Erfordert eine ALTER ANY SERVER ROLE-Berechtigung für den Server, um den Namen einer benutzerdefinierten Serverrolle zu ändern.

Feste Serverrollen

Wenn Sie einer festen Serverrolle ein Mitglied hinzufügen möchten, müssen Sie Mitglied dieser festen Serverrolle oder Mitglied der festen Serverrolle sysadmin sein.

Hinweis

Die Berechtigungen CONTROL SERVER und ALTER ANY SERVER ROLE sind nicht ausreichend, um ALTER SERVER ROLE für eine feste Serverrolle auszuführen. Außerdem kann die ALTER-Berechtigung nicht an eine feste Serverrolle vergeben werden.

Benutzerdefinierte Serverrollen

Wenn Sie einer benutzerdefinierten Serverrolle ein Mitglied hinzufügen möchten, müssen Sie Mitglied der festen Serverrolle sysadmin sein oder über die Berechtigung CONTROL SERVER oder ALTER ANY SERVER ROLE verfügen. Andernfalls müssen Sie über die ALTER-Berechtigung für diese Rolle verfügen.

Hinweis

Anders als bei festen Serverrollen verfügen Mitglieder einer benutzerdefinierten Serverrolle nicht unbedingt über die Berechtigung, dieser Rolle Mitglieder hinzuzufügen.

Beispiele

A. Ändern des Namens einer Serverrolle

Im folgenden Beispiel wird die Serverrolle Product erstellt, und anschließend wird der Name der Serverrolle in Production geändert.

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

B. Hinzufügen eines Domänenkontos zu einer Serverrolle

Im folgenden Beispiel wird der benutzerdefinierten Serverrolle Production das Domänenkonto adventure-works\roberto0 hinzugefügt.

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

C. Hinzufügen einer SQL Server-Anmeldung zu einer Serverrolle

Im folgenden Beispiel wird die SQL Server-Anmeldung Ted der festen Serverrolle diskadmin hinzugefügt.

ALTER SERVER ROLE diskadmin ADD MEMBER Ted ;  
GO  

D: Entfernen eines Domänenkontos aus einer Serverrolle

Im folgenden Beispiel wird das Domänenkonto adventure-works\roberto0 aus der benutzerdefinierten Serverrolle Production entfernt.

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

E. Entfernen einer SQL Server-Anmeldung aus einer Serverrolle

Im folgenden Beispiel wird die SQL Server-Anmeldung Ted aus der festen Serverrolle diskadmin entfernt.

ALTER SERVER ROLE Production DROP MEMBER Ted ;  
GO  

F. Gewähren der Berechtigung zum Hinzufügen von Anmeldungen zu einer benutzerdefinierten Serverrolle für eine Anmeldung

Im folgenden Beispiel wird Ted die Berechtigung erteilt, der benutzerdefinierten Serverrolle Production weitere Anmeldungen hinzuzufügen.

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

G. Anzeigen der Rollenmitgliedschaft

Um die Rollenmitgliedschaft anzuzeigen, verwenden Sie die Seite Serverrolle (Mitglieder) in SQL Server Management Studio, oder führen Sie die folgende Abfrage aus:

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  

Beispiele: Analytics-Plattformsystem (PDW)

H. Hinzufügen eines Mitglieds zu einer Serverrolle

Im folgenden Beispiel wird die Anmeldung Anna der Serverrolle LargeRC hinzugefügt.

ALTER SERVER ROLE LargeRC ADD MEMBER Anna;  

I. Entfernen einer Anmeldung aus einer Ressourcenklasse

Im folgenden Beispiel wird Annas Mitgliedschaft aus der Serverrolle LargeRC gelöscht.

ALTER SERVER ROLE LargeRC DROP MEMBER Anna;  

Nächste Schritte