CREATE ROLE (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric
Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.
Transact-SQL-Syntaxkonventionen
Syntax
CREATE ROLE role_name [ AUTHORIZATION owner_name ]
Argumente
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 wird, besitzt der Benutzer, der CREATE ROLE ausführt, diese Rolle. Der Besitzer der Rolle oder ein beliebiges Mitglied einer besitzenden Rolle kann der Rolle Mitglieder hinzufügen oder Mitglieder aus dieser entfernen.
Bemerkungen
Rollen sind auf Datenbankebene sicherungsfähige Elemente. Nachdem Sie eine Rolle erstellt haben, konfigurieren Sie die Berechtigungen der Rolle auf Datenbankebene mithilfe von GRANT, DENY und REVOKE. Um einer Datenbankrolle Elemente hinzuzufügen, verwenden Sie ALTER ROLE (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 Database Engine Permissions.
Achtung
Ab SQL Server 2005 hat sich das Verhalten der Schemas geändert. Daher gibt Code, der voraussetzt, dass Schemas mit Datenbankbenutzern identisch sind, nunmehr keine richtigen Ergebnisse mehr zurück. Alte Katalogsichten, einschließlich sysobjects, sollten nicht in einer Datenbank verwendet werden, in der jemals eine der folgenden DDL-Anweisungen verwendet wurde: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. In derlei Datenbanken müssen Sie stattdessen die neuen Katalogansichten verwenden. In den neuen Katalogsichten wird die Trennung zwischen Prinzipalen und Schemas berücksichtigt, die in SQL Server 2005 eingeführt wurde. Weitere Informationen zu Katalogsichten finden Sie unter Katalogsichten (Transact-SQL).
Berechtigungen
Erfordert die CREATE ROLE-Berechtigung für die Datenbank oder die Mitgliedschaft in der festen Datenbankrolle db_securityadmin. Wenn Sie die Option AUTHORIZATION verwenden, sind auch die folgenden 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.
Beispiele
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
Weitere Informationen
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