sp_droprole (Transact-SQL)

Gilt für:SQL Server

Entfernt eine Datenbankrolle aus der aktuellen Datenbank.

Wichtig

In SQL Server 2005 (9.x) sp_droprole wurde durch die DROP ROLE-Anweisung ersetzt. sp_droprole ist nur zur Kompatibilität mit früheren Versionen von SQL Server enthalten und wird in einer zukünftigen Version möglicherweise nicht unterstützt.

Transact-SQL-Syntaxkonventionen

Syntax

sp_droprole [ @rolename = ] N'rolename'
[ ; ]

Argumente

[ @rolename = ] N'rolename'

Der Name der Datenbankrolle, die aus der aktuellen Datenbank entfernt werden soll. @rolename ist "sysname" ohne Standard. @rolename müssen bereits in der aktuellen Datenbank vorhanden sein.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Hinweise

Nur Datenbankrollen können mithilfe von sp_droprole.

Eine Datenbankrolle mit vorhandenen Mitgliedern kann nicht entfernt werden. Vor dem Entfernen der Datenbankrolle müssen zunächst alle Mitglieder aus der Datenbankrolle entfernt werden. Um Benutzer aus einer Rolle zu entfernen, verwenden Sie sp_droprolemember. Wenn benutzer weiterhin Mitglieder der Rolle sind, sp_droprole werden diese Mitglieder angezeigt.

Feste Rollen und die öffentliche Rolle können nicht entfernt werden.

Eine Rolle kann nicht entfernt werden, wenn sie sicherungsfähig ist. Vor dem Löschen einer Anwendungsrolle, die sicherungsfähige Elemente besitzt, müssen Sie zuerst den Besitz dieser sicherungsfähigen Elemente übertragen oder diese löschen. Dient ALTER AUTHORIZATION zum Ändern des Besitzers von Objekten, die nicht entfernt werden dürfen.

sp_droprole kann nicht innerhalb einer benutzerdefinierten Transaktion ausgeführt werden.

Berechtigungen

Erfordert CONTROL berechtigungen für die Rolle.

Beispiele

Im folgenden Beispiel wird die Sales-Anwendungsrolle entfernt.

EXEC sp_droprole 'Sales';
GO