sp_addrole (Transact-SQL)
Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.
Wichtig |
---|
sp_addrole wird aus Gründen der Kompatibilität mit früheren Versionen von MicrosoftSQL Server bereitgestellt und wird in einer künftigen Version möglicherweise nicht mehr unterstützt. Verwenden Sie stattdessen CREATE ROLE. |
Syntax
sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ]
Argumente
[ @rolename = ] 'role'
Der Name der neuen Datenbankrolle. role ist vom Datentyp sysname und hat keinen Standardwert. role muss ein gültiger Bezeichner (ID) sein und darf noch nicht in der aktuellen Datenbank vorhanden sein.[ @ownername =] 'owner'
Der Besitzer der neuen Datenbankrolle. owner ist vom Datentyp sysname, der Standardwert ist der aktuelle Benutzer. owner muss ein Datenbankbenutzer oder eine Datenbankrolle in der aktuellen Datenbank sein.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
Die Namen von SQL Server-Datenbankrollen können zwischen 1 und 128 Zeichen (Buchstaben, Sonderzeichen und Ziffern) enthalten. Die Namen von Datenbankrollen dürfen keinen umgekehrten Schrägstrich (\), keine NULL-Werte und keine 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 owner als Benutzer oder Gruppe angegeben wird, ist IMPERSONATE für diesen Benutzer oder diese Gruppe erforderlich. Wenn owner als Rolle angegeben wird, 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'