Freigeben über


DROP SERVER ROLE (Transact-SQL)

Gilt für: SQL Server Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)

Entfernt eine benutzerdefinierte Serverrolle.

Benutzerdefinierte Serverrollen werden in SQL Server 2012 (11.x) neu eingeführt.

Transact-SQL-Syntaxkonventionen

Syntax

DROP SERVER ROLE role_name  

Argumente

role_name
Gibt die benutzerdefinierte Serverrolle an, die vom Server gelöscht werden soll.

Bemerkungen

Benutzerdefinierte Serverrollen, die sicherungsfähige Elemente besitze, können nicht vom Server gelöscht werden. Wenn eine benutzerdefinierte Serverrolle mit sicherungsfähigen Elementen gelöscht werden soll, müssen Sie zunächst den Besitz der sicherungsfähigen Elemente übertragen oder sie aus der Datenbank löschen.

Benutzerdefinierte Serverrollen, die über Elemente verfügen, können nicht gelöscht werden. Um eine benutzerdefinierte Serverrolle mit Mitgliedern zu löschen, müssen Sie zuerst Mitglieder der Rolle mit ALTER SERVER ROLE entfernen.

Feste Serverrollen können nicht entfernt werden.

Sie können die sys.server_role_members-Katalogsicht abfragen, um Informationen zu Rollenmitgliedschaften anzuzeigen.

Berechtigungen

Erfordert die CONTROL-Berechtigung für die Serverrolle oder die ALTER ANY SERVER ROLE-Berechtigung.

Beispiele

A. Löschen einer Serverrolle

Im folgenden Beispiel wird die Serverrolle purchasing gelöscht.

DROP SERVER ROLE purchasing;  
GO  

B. Anzeigen der Rollenmitgliedschaft

Um die Rollenmitgliedschaft anzuzeigen, verwenden Sie die Seite Serverrolle (Mitglieder) im 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  

C. Anzeigen der Rollenmitgliedschaft

Um zu ermitteln, ob eine Serverrolle eine andere Serverrolle besitzt, führen Sie die folgende Abfrage aus:

SELECT SP1.name AS RoleOwner, SP2.name AS Server_Role  
FROM sys.server_principals AS SP1  
JOIN sys.server_principals AS SP2  
    ON SP1.principal_id = SP2.owning_principal_id   
ORDER BY SP1.name ;  

Weitere Informationen

ALTER ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL)
Prinzipale (Datenbank-Engine)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)