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
- 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)
- Prinzipale (Datenbank-Engine)
- sys.server_role_members (Transact-SQL)
- sys.server_principals (Transact-SQL)