ALTER SERVER ROLE (Transact-SQL)

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

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

ALTER SERVER ROLE server_role_name 
{
    [ ADD MEMBER server_principal ]
  | [ DROP MEMBER server_principal ]
  | [ WITH NAME = new_server_role_name ]
} [ ; ]

Argumente

  • server_role_name
    Der Name der zu ändernden Serverrolle.

  • ADD MEMBER server_principal
    Fügt der Serverrolle den angegebenen Serverprinzipal hinzu. Der server_principal kann ein Anmeldename oder eine benutzerdefinierte Serverrolle sein. Der server_principal darf keine feste Serverrolle, Datenbankrolle oder sa sein.

  • DROP MEMBER server_principal
    Entfernt den angegebenen Serverprinzipal aus der Serverrolle. Der server_principal kann ein Anmeldename oder eine benutzerdefinierte Serverrolle sein. Der 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.

Hinweise

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

Um die Rollenmitgliedschaft zu ändern, ersetzt ALTER SERVER ROLE 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.

Um den Besitzer einer benutzerdefinierten Serverrolle zu ändern, verwenden Sie ALTER AUTHORIZATION (Transact-SQL).

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.

HinweisHinweis

Die Berechtigungen CONTROL SERVER und ALTER ANY SERVER ROLE sind nicht ausreichend, um ALTER SERVER ROLE für eine feste Serverrolle auszuführen, und die Berechtigung ALTER kann einer festen Serverrolle nicht gewährt 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. Anderfalls müssen Sie über die Berechtigung ALTER für diese Rolle verfügen.

HinweisHinweis

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 der SQL Server-Anmeldename 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 der SQL Server-Anmeldename 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

Siehe auch

Verweis

CREATE SERVER ROLE (Transact-SQL)

DROP SERVER ROLE (Transact-SQL)

CREATE ROLE (Transact-SQL)

ALTER ROLE (Transact-SQL)

DROP ROLE (Transact-SQL)

Gespeicherte Sicherheitsprozeduren (Transact-SQL)

Sicherheitsfunktionen (Transact-SQL)

sys.server_role_members (Transact-SQL)

sys.server_principals (Transact-SQL)

Konzepte

Prinzipale (Datenbankmodul)