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
(erfolgreich) 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