CREATE ROLE (Transact-SQL)CREATE ROLE (Transact-SQL)

DIESES THEMA GILT FÜR: jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.Creates a new database role in the current database.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

ArgumenteArguments

Rollennamerole_name
Ist der Name der zu erstellenden Rolle.Is the name of the role to be created.

Autorisierung Owner_nameAUTHORIZATION owner_name
Der Datenbankbenutzer oder die Datenbankrolle, der bzw. die die neue Rolle besitzen soll.Is the database user or role that is to own the new role. Wenn kein Benutzer angegeben wird, besitzt der Benutzer, der CREATE ROLE ausführt, diese Rolle.If no user is specified, the role will be owned by the user that executes CREATE ROLE.

HinweiseRemarks

Rollen sind auf Datenbankebene sicherungsfähige Elemente.Roles are database-level securables. Nachdem Sie eine Rolle erstellt haben, konfigurieren Sie die Berechtigungen der Rolle auf Datenbankebene mithilfe von GRANT, DENY und REVOKE.After you create a role, configure the database-level permissions of the role by using GRANT, DENY, and REVOKE. Verwenden Sie zum Hinzufügen von Mitgliedern zu einer Datenbankrolle ALTER ROLE ( Transact-SQL ) .To add members to a database role, use ALTER ROLE (Transact-SQL). Weitere Informationen finden Sie unter Datenbankrollen.For more information, see Database-Level Roles.

Datenbankrollen werden in den Katalogsichten sys.database_role_members und sys.database_principals angezeigt.Database roles are visible in the sys.database_role_members and sys.database_principals catalog views.

Informationen zum Entwerfen eines Berechtigungssystems finden Sie unter Getting Started with Database Engine Permissions.For information about designing a permissions system, see Getting Started with Database Engine Permissions.

Achtung

Ab SQL Server 2005 hat sich das Verhalten der Schemas geändert.Beginning with SQL Server 2005, the behavior of schemas changed. Daher gibt Code, der voraussetzt, dass Schemas mit Datenbankbenutzern identisch sind, nunmehr keine richtigen Ergebnisse mehr zurück.As a result, code that assumes that schemas are equivalent to database users may no longer return correct results. 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.Old catalog views, including sysobjects, should not be used in a database in which any of the following DDL statements have ever been used: 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 such databases you must instead use the new catalog views. In den neuen Katalogsichten wird die Trennung zwischen Prinzipalen und Schemas berücksichtigt, die in SQL Server 2005 eingeführt wurde.The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005. Weitere Informationen zu Katalogansichten finden Sie unter Catalog Views (Transact-SQL) (Katalogansichten (Transact-SQL)).For more information about catalog views, see Catalog Views (Transact-SQL).

BerechtigungenPermissions

Erfordert CREATE ROLE -Berechtigung für die Datenbank oder die Mitgliedschaft in der Db_securityadmin festen Datenbankrolle "".Requires CREATE ROLE permission on the database or membership in the db_securityadmin fixed database role. Bei Verwendung der Autorisierung Option, die folgenden Berechtigungen sind auch erforderlich:When you use the AUTHORIZATION option, the following permissions are also required:

  • Um einer Rolle einen anderen Benutzer als Besitzer zuzuweisen, ist die IMPERSONATE-Berechtigung für diesen Benutzer erforderlich.To assign ownership of a role to another user, requires IMPERSONATE permission on that user.

  • 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.To assign ownership of a role to another role, requires membership in the recipient role or ALTER permission on that role.

  • Um einer Rolle eine Anwendungsrolle als Besitzer zuzuweisen, ist die ALTER-Berechtigung für diese Anwendungsrolle erforderlich.To assign ownership of a role to an application role, requires ALTER permission on the application role.

BeispieleExamples

Allen folgenden Beispielen verwenden die AdventureWorks-Datenbank.The following examples all use the AdventureWorks database.

A.A. Erstellen einer Datenbankrolle, deren Besitzer ein Datenbankbenutzer istCreating a database role that is owned by a database user

Im folgenden Beispiel wird die buyers-Datenbankrolle erstellt, deren Besitzer der Benutzer BenMiller ist.The following example creates the database role buyers that is owned by user BenMiller.

CREATE ROLE buyers AUTHORIZATION BenMiller;  
GO  

B.B. Erstellen einer Datenbankrolle, deren Besitzer eine feste Datenbankrolle istCreating a database role that is owned by a fixed database role

Im folgenden Beispiel wird die auditors-Datenbankrolle erstellt, deren Besitzer die feste Datenbankrolle db_securityadmin ist.The following example creates the database role auditors that is owned the db_securityadmin fixed database role.

CREATE ROLE auditors AUTHORIZATION db_securityadmin;  
GO  

Siehe auchSee Also

Prinzipale (Datenbankmodul) Principals (Database Engine)
ALTER ROLE ( Transact-SQL ) ALTER ROLE (Transact-SQL)
DROP ROLE ( Transact-SQL ) DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL) EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL) sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL) sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL) sys.database_principals (Transact-SQL)
Erste Schritte mit Berechtigungen für das DatenbankmodulGetting Started with Database Engine Permissions