CREATE SERVER ROLE (Transact-SQL)CREATE SERVER ROLE (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ ЭТОЙ СТАТЬИ: даSQL Server (начиная с 2012)нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Создает новую, определяемую пользователем роль сервера.Creates a new user-defined server role.

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

СинтаксисSyntax

CREATE SERVER ROLE role_name [ AUTHORIZATION server_principal ]  

АргументыArguments

role_namerole_name
Имя создаваемой роли сервера.Is the name of the server role to be created.

AUTHORIZATION server_principalAUTHORIZATION server_principal
Является именем входа, которому будет принадлежать новая роль сервера.Is the login that will own the new server role. Если имя входа не указано, владельцем роли сервера станет имя входа, выполнившее инструкцию CREATE SERVER ROLE.If no login is specified, the server role will be owned by the login that executes CREATE SERVER ROLE.

RemarksRemarks

Роли сервера являются защищаемыми объектами уровня сервера.Server roles are server-level securables. После создания роли сервера необходимо настроить для нее разрешения уровня сервера при помощи инструкций GRANT, DENY и REVOKE.After you create a server role, configure the server-level permissions of the role by using GRANT, DENY, and REVOKE. Для добавления или удаления имен входа из роли сервера используется инструкция ALTER SERVER ROLE (Transact-SQL).To add logins to or remove logins from a server role, use ALTER SERVER ROLE (Transact-SQL). Чтобы удалить роль сервера, используйте инструкцию DROP SERVER ROLE (Transact-SQL).To drop a server role, use DROP SERVER ROLE (Transact-SQL). Дополнительные сведения см. в разделе sys.server_principals (Transact-SQL).For more information, see sys.server_principals (Transact-SQL).

Для просмотра ролей сервера выполните запрос к представлениям каталога sys.server_role_members и sys.server_principals.You can view the server roles by querying the sys.server_role_members and sys.server_principals catalog views.

Ролям сервера нельзя предоставить разрешение на защищаемые объекты уровня базы данных.Server roles cannot be granted permission on database-level securables. Сведения о создании ролей базы данных см. в статье CREATE ROLE (Transact-SQL).To create database roles, see CREATE ROLE (Transact-SQL).

Сведения о проектировании системы разрешений см. в статье Getting Started with Database Engine Permissions.For information about designing a permissions system, see Getting Started with Database Engine Permissions.

РазрешенияPermissions

Требует разрешения CREATE SERVER ROLE или членства в предопределенной роли сервера.Requires CREATE SERVER ROLE permission or membership in the sysadmin fixed server role.

Также требует разрешения IMPERSONATE на server_principal для имен входа, разрешения ALTER для ролей сервера, которые используются в качестве server_principal, или членства в группе Windows, которая используется в качестве server_principal.Also requires IMPERSONATE on the server_principal for logins, ALTER permission for server roles used as the server_principal, or membership in a Windows group that is used as the server_principal.

Это вызовет событие Audit Server Principal Management с типом объекта, установленным как роль сервера, и типом добавляемого события.This will fire the Audit Server Principal Management event withthe object type set to server role and event type to add.

Если для назначения владельца роли сервера указывается параметр AUTHORIZATION, необходимы также следующие разрешения.When you use the AUTHORIZATION option to assign server role ownership, the following permissions are also required:

  • Для передачи роли сервера во владение другому имени входа необходимо связанное с этим именем входа разрешение IMPERSONATE.To assign ownership of a server role to another login, requires IMPERSONATE permission on that login.

  • Для передачи роли сервера во владение другой роли сервера необходимо членство в роли сервера-получателя или связанное с этой ролью сервера разрешение ALTER.To assign ownership of a server role to another server role, requires membership in the recipient server role or ALTER permission on that server role.

ПримерыExamples

A.A. Создание роли сервера, принадлежащей имени входаCreating a server role that is owned by a login

Следующий пример создает роль сервера buyers, принадлежащую имени входа BenMiller.The following example creates the server role buyers that is owned by login BenMiller.

USE master;  
CREATE SERVER ROLE buyers AUTHORIZATION BenMiller;  
GO  

Б.B. Создание роли сервера, принадлежащей предопределенной роли сервераCreating a server role that is owned by a fixed server role

Следующий пример создает роль сервера auditors, принадлежащую предопределенной роли сервера securityadmin.The following example creates the server role auditors that is owned the securityadmin fixed server role.

USE master;  
CREATE SERVER ROLE auditors AUTHORIZATION securityadmin;  
GO  

См. также:See Also

DROP SERVER ROLE (Transact-SQL) DROP SERVER ROLE (Transact-SQL)
Участники (ядро СУБД) Principals (Database Engine)
EVENTDATA (Transact-SQL) EVENTDATA (Transact-SQL)
Хранимая процедура sp_addrolemember (Transact-SQL) sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL) sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL) sys.database_principals (Transact-SQL)
Приступая к работе с разрешениями Database EngineGetting Started with Database Engine Permissions