DROP ROLE (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Entfernt eine Rolle aus der Datenbank.

Transact-SQL-Syntaxkonventionen

Syntax

-- Syntax for SQL Server  
  
DROP ROLE [ IF EXISTS ] role_name  
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse  

DROP ROLE role_name  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

IF EXISTS
Gilt für: SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version).

Löscht die Rolle nur, wenn diese bereits vorhanden ist.

role_name
Gibt die Rolle an, die aus der Datenbank gelöscht werden soll.

Hinweise

Rollen, die sicherungsfähige Elemente besitzen, können nicht aus der Datenbank gelöscht werden. Wenn eine Datenbankrolle mit sicherungsfähigen Elementen gelöscht werden soll, müssen Sie zunächst den Besitz dieser sicherungsfähigen Elemente übertragen oder sie aus der Datenbank löschen. Rollen mit Mitgliedern können nicht aus der Datenbank gelöscht werden. Zum Löschen einer Rolle mit Mitgliedern müssen Sie zunächst die Mitglieder der Rolle entfernen.

Um Mitglieder aus einer Datenbankrolle zu entfernen, verwenden Sie ALTER ROLE (Transact-SQL).

DROP ROLE kann nicht zum Löschen einer festen Datenbankrolle verwendet werden.

Informationen zur Rollenmitgliedschaft können in der sys.database_role_members-Katalogsicht angezeigt werden.

Achtung

Ab SQL Server 2005 hat sich das Verhalten der Schemas geändert. Daher gibt Code, der voraussetzt, dass Schemas mit Datenbankbenutzern identisch sind, nunmehr keine richtigen Ergebnisse mehr zurück. Alte Katalogsichten, einschließlich sysobjects, sollten nicht in einer Datenbank verwendet werden, in der jemals eine der folgenden DDL-Anweisungen verwendet wurde: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. In derlei Datenbanken müssen Sie stattdessen die neuen Katalogansichten verwenden. In den neuen Katalogsichten wird die Trennung zwischen Prinzipalen und Schemas berücksichtigt, die in SQL Server 2005 eingeführt wurde. Weitere Informationen zu Katalogsichten finden Sie unter Katalogsichten (Transact-SQL).

Verwenden Sie DROP SERVER ROLE (Transact-SQL), um eine Serverrolle zu entfernen.

Berechtigungen

Erfordert die ALTER ANY ROLE-Berechtigung für die Datenbank, die CONTROL-Berechtigung für die Rolle oder die Mitgliedschaft in db_securityadmin.

Beispiele

Im folgenden Beispiel wird die Datenbankrolle purchasing aus der AdventureWorks2022-Datenbank entfernt.

DROP ROLE purchasing;  
GO  

Weitere Informationen

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