Freigeben über


ALTER ROLE (Transact-SQL)

Fügt Mitglieder zu einer Datenbankrolle hinzu oder ändert den Namen einer benutzerdefinierten Datenbankrolle.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

ALTER ROLE role_name
{
      [ ADD MEMBER database_principal ]
    | [ DROP MEMBER database_principal ]
    | WITH NAME = new_name
}

Argumente

  • role_name
    Der Name der zu ändernden Rolle.

  • ADD MEMBER database_principal
    Fügt den angegebenen Datenbankprinzipal der Datenbankrolle hinzu. database_principal kann eine Benutzer- oder eine benutzerdefinierte Datenbankrolle sein. database_principal darf keine feste Datenbankrolle oder ein Serverprinzipal sein.

  • DROP MEMBER database_principal
    Entfernt den angegebenen Datenbankprinzipal aus der Datenbankrolle. database_principal kann eine Benutzer- oder eine benutzerdefinierte Datenbankrolle sein. database_principal darf keine feste Datenbankrolle oder ein Serverprinzipal sein.

  • WITH NAME =new_name
    Gibt den neuen Namen der benutzerdefinierten Rolle an. Dieser Name darf nicht bereits in der Datenbank vorhanden sein. Sie können den Namen von festen Datenbankrollen nicht ändern.

Hinweise

Durch das Ändern des Namens einer Datenbankrolle werden die ID-Nummer, der Besitzer oder Berechtigungen der Rolle nicht geändert.

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

VorsichtshinweisVorsicht

Mit SQL Server 2005 wurde das Verhalten von Schemas geändert. Deshalb werden von Code, der voraussetzt, dass Schemas und Datenbankbenutzer äquivalent sind, möglicherweise keine richtigen Ergebnisse mehr zurückgegeben. Alte Katalogsichten, einschließlich sysobjects, sollten nicht in einer Datenbank verwendet werden, in der bereits 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 solchen Datenbanken müssen Sie stattdessen neue Katalogsichten 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 ALTER ANY ROLE-Berechtigung für die Datenbank, die ALTER-Berechtigung für die Rolle oder die Mitgliedschaft in der db_securityadmin. Zum Hinzufügen von Mitgliedern zu festen Datenbankrollen ist die Mitgliedschaft in der festen Datenbankrolle db_owner erforderlich.

Beispiele

A.Ändern des Namens einer Datenbankrolle

Im folgenden Beispiel wird der Name der buyers-Rolle in purchasing geändert.

USE AdventureWorks2012;
ALTER ROLE buyers WITH NAME = purchasing;
GO

B.Hinzufügen und Entfernen von Rollenmitgliedern

Im folgenden Beispiel wird eine Rolle mit dem Namen Sales erstellt und ein Benutzer mit dem Namen Barry hinzugefügt und dann entfernt.

CREATE ROLE Sales;
ALTER ROLE Sales ADD MEMBER Barry;
ALTER ROLE Sales DROP MEMBER Barry;

Siehe auch

Verweis

CREATE ROLE (Transact-SQL)

DROP ROLE (Transact-SQL)

sp_addrolemember (Transact-SQL)

sys.database_role_members (Transact-SQL)

sys.database_principals (Transact-SQL)

Konzepte

Prinzipale (Datenbankmodul)