sp_addrole (Transact-SQL)
Gilt für:SQL Server
Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.
Wichtig
sp_addrole ist aus Gründen der Kompatibilität mit früheren Versionen von Microsoft SQL Server enthalten und wird in einer zukünftigen Version möglicherweise nicht unterstützt. Verwenden Sie stattdessen CREATE ROLE .
Transact-SQL-Syntaxkonventionen
Syntax
sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ]
Argumente
[ @rolename = ] 'role'
Der Name der neuen Datenbankrolle. role ist vom Datentyp sysnameund hat keinen Standardwert. role muss ein gültiger Bezeichner (ID) sein und darf nicht bereits in der aktuellen Datenbank vorhanden sein.
[ @ownername = ] 'owner'
Der Besitzer der neuen Datenbankrolle. owner ist ein sysname, wobei der Standardwert der aktuell ausgeführte Benutzer ist. Besitzer muss ein Datenbankbenutzer oder eine Datenbankrolle in der aktuellen Datenbank sein.
Rückgabecodewerte
„0“ (erfolgreich) oder „1“ (fehlerhaft)
Bemerkungen
Die Namen SQL Server Datenbankrollen können zwischen 1 und 128 Zeichen enthalten, einschließlich Buchstaben, Symbolen und Zahlen. Die Namen von Datenbankrollen dürfen nicht einen umgekehrten Schrägstrich (\), NULL oder eine leere Zeichenfolge ("") enthalten.
Nachdem Sie eine Datenbankrolle hinzugefügt haben, verwenden Sie sp_addrolemember (Transact-SQL), um der Rolle Prinzipale hinzuzufügen. Wenn mit den Anweisungen GRANT, DENY oder REVOKE Berechtigungen auf die Datenbankrolle angewendet werden, erben die Mitglieder der Datenbankrolle die Berechtigungen, als würden die Berechtigungen direkt auf die Konten dieser Mitglieder angewendet.
Hinweis
Neue Serverrollen können nicht erstellt werden. Rollen können nur auf der Datenbankebene erstellt werden.
sp_addrole kann nicht innerhalb einer benutzerdefinierten Transaktion verwendet werden.
Berechtigungen
Erfordert die CREATE ROLE-Berechtigung für die Datenbank. Wenn Sie ein Schema erstellen, ist CREATE SCHEMA für die Datenbank erforderlich. Wenn der Besitzer als Benutzer oder Gruppe angegeben ist, erfordert IMPERSONATE für diesen Benutzer oder diese Gruppe. Wenn der Besitzer als Rolle angegeben ist, ist die ALTER-Berechtigung für diese Rolle oder für ein Mitglied dieser Rolle erforderlich. Wenn der Besitzer als Anwendungsrolle angegeben wird, ist die ALTER-Berechtigung für diese Anwendungsrolle erforderlich.
Beispiele
Im folgenden Beispiel wird der aktuellen Datenbank die neue Rolle Managers
hinzugefügt.
EXEC sp_addrole 'Managers';
Weitere Informationen
Gespeicherte Systemprozeduren (Transact-SQL)
Gespeicherte Sicherheitsprozeduren (Transact-SQL)
CREATE ROLE (Transact-SQL)