Freigeben über


sp_addrole (Transact-SQL)

Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.

Wichtiger HinweisWichtig

sp_addrole wird aus Gründen der Kompatibilität mit früheren Versionen von Microsoft SQL Server bereitgestellt und wird in künftigen Versionen möglicherweise nicht mehr unterstützt. Verwenden Sie stattdessen CREATE ROLE.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

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 nicht bereits 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.

HinweisHinweis

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'

Siehe auch

Verweis

Gespeicherte Systemprozeduren (Transact-SQL)

Gespeicherte Sicherheitsprozeduren (Transact-SQL)

CREATE ROLE (Transact-SQL)