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


CREATE SERVER ROLE (Transact-SQL)

Создает новую, определяемую пользователем роль сервера.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2012 до текущей версии).

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

Синтаксис

CREATE SERVER ROLE role_name [ AUTHORIZATION server_principal ]

Аргументы

  • role_name
    Имя создаваемой роли сервера.

  • AUTHORIZATION server_principal
    Является именем входа, которому будет принадлежать новая роль сервера. Если имя входа не указано, владельцем роли сервера станет имя входа, выполнившее инструкцию CREATE SERVER ROLE.

Замечания

Роли сервера являются защищаемыми объектами уровня сервера. После создания роли сервера необходимо настроить для нее разрешения уровня сервера при помощи инструкций GRANT, DENY и REVOKE. Для добавления или удаления имен входа из роли сервера используется инструкция ALTER SERVER ROLE (Transact-SQL). Для удаления роли сервера используется инструкция DROP SERVER ROLE (Transact-SQL). Дополнительные сведения см. в разделе sys.server_principals (Transact-SQL).

Для просмотра ролей сервера выполните запрос к представлениям каталога sys.server_role_members и sys.server_principals.

Ролям сервера нельзя предоставить разрешение на защищаемые объекты уровня базы данных. Сведения о создании ролей базы данных см. в разделе CREATE ROLE (Transact-SQL).

Разрешения

Требует разрешения CREATE SERVER ROLE или членства в предопределенной роли сервера sysadmin.

Также требует разрешения IMPERSONATE на server_principal для имен входа, разрешения ALTER для ролей сервера, которые используются в качестве server_principal, или членства в группе Windows, которая используется в качестве server_principal.

Это вызовет событие Audit Server Principal Management с типом объекта, установленным как роль сервера, и типом добавляемого события.

Если для назначения владельца роли сервера указывается параметр AUTHORIZATION, необходимы также следующие разрешения.

  • Для передачи роли сервера во владение другому имени входа необходимо связанное с этим именем входа разрешение IMPERSONATE.

  • Для передачи роли сервера во владение другой роли сервера необходимо членство в роли сервера-получателя или связанное с этой ролью сервера разрешение ALTER.

Примеры

А.Создание роли сервера, принадлежащей имени входа

Следующий пример создает роль сервера buyers, принадлежащую имени входа BenMiller.

USE master;
CREATE SERVER ROLE buyers AUTHORIZATION BenMiller;
GO

Б.Создание роли сервера, принадлежащей предопределенной роли сервера

Следующий пример создает роль сервера auditors, принадлежащую предопределенной роли сервера securityadmin.

USE master;
CREATE SERVER ROLE auditors AUTHORIZATION securityadmin;
GO

См. также

Справочник

DROP SERVER ROLE (Transact-SQL)

EVENTDATA (Transact-SQL)

Хранимая процедура sp_addrolemember (Transact-SQL)

sys.database_role_members (Transact-SQL)

sys.database_principals (Transact-SQL)

Основные понятия

Участники (компонент Database Engine)