CREATE ROLE (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Analyseendpunkt in Microsoft FabricLagerhaus in Microsoft FabricSQL-Datenbank in Microsoft Fabric

Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.

Transact-SQL-Syntaxkonventionen

Syntax

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

Arguments

role_name
Der Name der zu erstellenden Rolle.

AUTHORIZATION owner_name
Der Datenbankbenutzer oder die Datenbankrolle, der bzw. die die neue Rolle besitzen soll. Wenn kein Benutzer angegeben ist, gehört die Rolle dem Benutzer, der ausführt CREATE ROLE. Der Besitzer der Rolle oder ein beliebiges Mitglied einer besitzenden Rolle kann der Rolle Mitglieder hinzufügen oder Mitglieder aus dieser entfernen.

Remarks

Rollen sind auf Datenbankebene sicherungsfähige Elemente. Nachdem Sie eine Rolle erstellt haben, konfigurieren Sie die Datenbankebene-Berechtigungen der Rolle, indem Sie , DENY, und REVOKEverwendenGRANT. Um Mitglieder zu einer Datenbankrolle hinzuzufügen, verwenden ALTER ROLE Sie (Transact-SQL). Weitere Informationen finden Sie unter Rollen auf Datenbankebene.

Datenbankrollen werden in den Katalogsichten sys.database_role_members und sys.database_principals angezeigt.

Informationen zum Entwerfen eines Berechtigungssystems finden Sie unter Getting Started with Datenbank-Engine Permissions.

Note

Schemas entsprechen nicht datenbankbenutzern. Verwenden Sie Systemkatalogansichten , um unterschiede zwischen Datenbankbenutzern und Schemas zu identifizieren.

Permissions

Erfordert CREATE ROLE eine Berechtigung für die Datenbank oder die Mitgliedschaft in der db_securityadmin festen Datenbankrolle. Wenn Sie die AUTHORIZATION Option verwenden, sind ebenfalls folgende Berechtigungen erforderlich:

  • Um einer Rolle einen anderen Benutzer als Besitzer zuzuweisen, ist die IMPERSONATE-Berechtigung für diesen Benutzer erforderlich.

  • Um einer Rolle eine andere Rolle als Besitzer zuzuweisen, ist die Mitgliedschaft in der Empfängerrolle oder die ALTER-Berechtigung für diese Rolle erforderlich.

  • Um einer Rolle eine Anwendungsrolle als Besitzer zuzuweisen, ist die ALTER-Berechtigung für diese Anwendungsrolle erforderlich.

Examples

In den folgenden Beispielen wird die Datenbank AdventureWorks verwendet.

A. Erstellen einer Datenbankrolle, deren Besitzer ein Datenbankbenutzer ist

Im folgenden Beispiel wird die buyers-Datenbankrolle erstellt, deren Besitzer der Benutzer BenMiller ist.

CREATE ROLE buyers AUTHORIZATION BenMiller;  
GO  

B. Erstellen einer Datenbankrolle, deren Besitzer eine feste Datenbankrolle ist

Im folgenden Beispiel wird die auditors-Datenbankrolle erstellt, deren Besitzer die feste Datenbankrolle db_securityadmin ist.

CREATE ROLE auditors AUTHORIZATION db_securityadmin;  
GO  

Siehe auch

Prinzipale (Datenbank-Engine)
ALTER ROLE (Transact-SQL)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Erste Schritte mit Berechtigungen für die Datenbank-Engine