ALTER ROLE (Transact-SQL)

Ändert den Namen einer Datenbankrolle.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

ALTER ROLE role_name WITH NAME = new_name

Argumente

  • role_name
    Der Name der zu ändernden Rolle.

  • WITH NAME =new_name
    Gibt den neuen Namen der Rolle an. Dieser Name darf nicht bereits in der Datenbank vorhanden sein.

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.

Beispiele

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

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