Freigeben über


DROP ROLE (Transact-SQL)

Gilt für: SQL Server Azure SQL verwaltete Instanz Azure Synapse Analytics Platform System (PDW)-SQL-Datenbank in Microsoft Fabric

Entfernt eine Rolle aus der Datenbank.

Transact-SQL-Syntaxkonventionen

Syntax

Syntax für SQL Server-, Azure SQL-Datenbank-, Azure SQL-verwaltete Instanz- und Fabric SQL-Datenbank

DROP ROLE [ IF EXISTS ] role_name

Syntax für Azure Synapse Analytics und Parallel Data Warehouse

DROP ROLE role_name

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)