Поделиться через


ALTER ROLE (Transact-SQL)

Изменяет имя роли базы данных.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

ALTER ROLE role_name WITH NAME = new_name

Аргументы

  • role_name
    Имя роли, подлежащей изменению.

  • WITH NAME **=**new_name
    Указывает новое имя роли. Данное имя уже не должно существовать в базе данных.

Замечания

Изменение имени роли базы данных не изменяет идентификационный номер, владельца или разрешения роли.

Роли базы данных видны в представлениях каталога sys.database_role_members и sys.database_principals.

ПредупреждениеВнимание!

Начиная с SQL Server 2005, поведение схем изменилось. В результате программный код, предполагающий, что схемы эквивалентны пользователям базы данных, возможно, не будет более возвращать правильные результаты. Старые представления каталогов, включая sysobjects, не должны использоваться в той базе данных, где когда-либо выполнялась любая из следующих инструкций DDL: 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. В таких базах данных необходимо использовать новые представления каталогов. Новые представления каталога учитывают разделение участников и схем, введенное в SQL Server 2005. Дополнительные сведения о представлениях каталогов см. в разделе Представления каталогов (Transact-SQL).

Разрешения

Требует разрешения ALTER ANY ROLE для базы данных.

Примеры

Следующий пример изменяет имя роли buyers на purchasing.

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