CREATE ROLE (Transact-SQL)

Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.

Themenlink (Symbol)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.

Hinweise

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. Verwenden Sie die gespeicherte Prozedur sp_addrolemember, um einer Datenbankrolle Mitglieder hinzuzufügen. Weitere Informationen finden Sie unter Rollen auf Datenbankebene.

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

ms187936.Caution(de-de,SQL.90).gifVorsicht:
Das Verhalten der Schemas in SQL Server 2005 unterscheidet sich von dem in früheren Versionen von SQL Server. Code, in dem vorausgesetzt wird, dass Schemas Datenbankbenutzern entsprechen, gibt möglicherweise nicht die richtigen Ergebnisse 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 einer Datenbank, in der jemals eine dieser Anweisungen verwendet wurde, müssen Sie die neuen Katalogsichten verwenden. In den neuen Katalogsichten wird die Trennung zwischen Prinzipalen und Schemas berücksichtigt, die in SQL Server 2005 eingeführt wird. Weitere Informationen zu Katalogsichten finden Sie unter Katalogsichten (Transact-SQL).

Berechtigungen

Erfordert die CREATE ROLE-Berechtigung für die Datenbank. 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

A. Erstellen einer Datenbankrolle, deren Besitzer ein Datenbankbenutzer ist

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

USE AdventureWorks;
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.

USE AdventureWorks;
CREATE ROLE auditors AUTHORIZATION db_securityadmin;
GO

Siehe auch

Verweis

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)

Andere Ressourcen

Prinzipale

Hilfe und Informationen

Informationsquellen für SQL Server 2005