Роли уровня сервераServer-Level Roles

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) даParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

SQL ServerSQL Server предоставляет роли уровня сервера и помогает управлять разрешениями на сервере.provides server-level roles to help you manage the permissions on a server. Эти роли являются субъектами безопасности, группирующими других участников.These roles are security principals that group other principals. Разрешения ролей уровня сервера распространяются на весь сервер.Server-level roles are server-wide in their permissions scope. (Роли похожи на группы в операционной системе Windows.)(Roles are like groups in the Windows operating system.)

Предопределенные роли сервера предусмотрены для удобства и обратной совместимости.Fixed server roles are provided for convenience and backward compatibility. Задавайте больше специфических прав каждый раз, когда это возможно.Assign more specific permissions whenever possible.

SQL ServerSQL Server предоставляет девять предопределенных ролей сервера.provides nine fixed server roles. Разрешения, назначенные предопределенным ролям сервера (кроме роли public), не могут быть изменены.The permissions that are granted to the fixed server roles (except public) cannot be changed. Начиная с SQL Server 2012 (11.x)SQL Server 2012 (11.x), можно создавать пользовательские роли сервера и добавлять разрешения на уровне сервера таким пользовательским ролям.Beginning with SQL Server 2012 (11.x)SQL Server 2012 (11.x), you can create user-defined server roles and add server-level permissions to the user-defined server roles.

В роли уровня сервера можно добавлять субъекты уровня сервера (имена входа SQL ServerSQL Server, учетные записи Windows и группы Windows).You can add server-level principals ( SQL ServerSQL Server logins, Windows accounts, and Windows groups) into server-level roles. Каждый член предопределенной роли сервера может добавлять другие имена входа к той же роли.Each member of a fixed server role can add other logins to that same role. Члены пользовательских ролей сервера не могут добавлять других участников на уровне сервера в роль.Members of user-defined server roles cannot add other server principals to the role.

Примечание

Разрешения уровня сервера недоступны в базе данных SQL или хранилище данных SQL.Server-level permissions are not available in SQL Database or SQL Data Warehouse. Дополнительные сведения о базе данных SQL см. в статье Предоставление доступа к базе данных и управление им.For more information about SQL Database, see Controlling and granting database access.

Предопределенные роли уровня сервераFixed Server-Level Roles

В следующей таблице представлены предопределенные роли уровня сервера и их возможности.The following table shows the fixed server-level roles and their capabilities.

Предопределенная роль уровня сервераFixed server-level role ОписаниеDescription
sysadminsysadmin Члены предопределенной роли сервера sysadmin могут выполнять любые действия на сервере.Members of the sysadmin fixed server role can perform any activity in the server.
serveradminserveradmin Элементы предопределенной роли сервера serveradmin могут изменять параметры конфигурации на уровне сервера, а также выключать сервер.Members of the serveradmin fixed server role can change server-wide configuration options and shut down the server.
securityadminsecurityadmin Элементы предопределенной роли сервера securityadmin управляют именами входа и их свойствами.Members of the securityadmin fixed server role manage logins and their properties. Это могут быть разрешения на уровне сервера GRANT, DENY и REVOKE.They can GRANT, DENY, and REVOKE server-level permissions. Они также могут предоставлять, запрещать и отменять разрешения на уровне базы данных (инструкции GRANT, DENY и REVOKE) при наличии доступа к базе данных.They can also GRANT, DENY, and REVOKE database-level permissions if they have access to a database. Кроме того, они могут сбрасывать пароли для имен входа SQL ServerSQL Server .Additionally, they can reset passwords for SQL ServerSQL Server logins.

ВНИМАНИЕ! Возможность предоставления доступа к компоненту Компонент Database EngineDatabase Engine и настройки разрешений пользователей позволяет администратору безопасности назначать большинство разрешений сервера.IMPORTANT: The ability to grant access to the Компонент Database EngineDatabase Engine and to configure user permissions allows the security admin to assign most server permissions. Роль securityadmin должна считаться эквивалентной роли sysadmin .The securityadmin role should be treated as equivalent to the sysadmin role.
processadminprocessadmin Члены предопределенной роли сервера processadmin могут завершать процессы, работающие на экземпляре SQL ServerSQL Server.Members of the processadmin fixed server role can end processes that are running in an instance of SQL ServerSQL Server.
setupadminsetupadmin Члены предопределенной роли сервера setupadmin могут добавлять или удалять связанные серверы с помощью инструкций Transact-SQLTransact-SQL.Members of the setupadmin fixed server role can add and remove linked servers by using Transact-SQLTransact-SQL statements. (Членство в роли sysadmin необходимо при использовании службы Среда Management StudioManagement Studio.)(sysadmin membership is needed when using Среда Management StudioManagement Studio.)
bulkadminbulkadmin Элементы предопределенной роли сервера bulkadmin могут выполнять инструкцию BULK INSERT.Members of the bulkadmin fixed server role can run the BULK INSERT statement.
diskadmindiskadmin Предопределенная роль сервера diskadmin используется для управления файлами на диске.The diskadmin fixed server role is used for managing disk files.
dbcreatordbcreator Члены предопределенной роли сервера dbcreator могут создавать, изменять, удалять и восстанавливать любые базы данных.Members of the dbcreator fixed server role can create, alter, drop, and restore any database.
publicpublic Каждое имя входа SQL ServerSQL Server принадлежит к роли сервера public.Every SQL ServerSQL Server login belongs to the public server role. Если для участника на уровне сервера не были предоставлены или запрещены конкретные разрешения на защищаемый объект, он наследует разрешения роли public на этот объект.When a server principal has not been granted or denied specific permissions on a securable object, the user inherits the permissions granted to public on that object. Разрешения роли public следует назначать только тому объекту, который будет доступен всем пользователям.Only assign public permissions on any object when you want the object to be available to all users. Нельзя изменить членство в роли public.You cannot change membership in public.

Примечание. Роль public реализуется не так, как другие роли; разрешения могут предоставляться, запрещаться или отменяться из открытых предопределенных ролей сервера.Note: public is implemented differently than other roles, and permissions can be granted, denied, or revoked from the public fixed server roles.

Разрешения Предопределенных Ролей СервераPermissions of Fixed Server Roles

Каждая предопределенная роль сервера обладает определенными разрешениями, назначенными ей.Each fixed server role has certain permissions assigned to it. На следующем рисунке показаны разрешения, назначенные ролям сервера.The following graphic shows the permissions assigned to the server roles.
fixed_server_role_permissions

Важно!

Разрешение CONTROL SERVER похоже на, но не идентично sysadmin предопределенной роли сервера.The CONTROL SERVER permission is similar but not identical to the sysadmin fixed server role. Разрешения не влекут за собой членства роли, а членства роли не предоставляют разрешений.Permissions do not imply role memberships and role memberships do not grant permissions. (Пример(E.g. CONTROL SERVER не подразумевает членство в предопределенной роли сервера sysadmin.) Однако иногда возможно олицетворять между ролями и эквивалентными разрешениями.CONTROL SERVER does not imply membership in the sysadmin fixed server role.) However, it is sometimes possible to impersonate between roles and equivalent permissions. Большинство команд DBCC и многие системные процедуры требуют членство в sysadmin предопределенной роли сервера.Most DBCC commands and many system procedures require membership in the sysadmin fixed server role. Список из 171 системной хранимой процедуры, которым требуется членство в роли sysadmin , содержится в следующей записи блога Андреаса Волтера (Andreas Wolter) Сравнение CONTROL SERVER и sysadmin/sa: разрешения, системные процедуры, DBCC, автоматическое создание схем и расширение привилегий — разъяснения.For a list of 171 system stored procedures that require sysadmin membership, see the following blog post by Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats.

Разрешение на уровне сервераServer-Level Permissions

В пользовательские роли сервера можно добавить только разрешения уровня сервера.Only server-level permissions can be added to user-defined server roles. Для составления списка разрешений уровня сервера, выполните следующее выражение.To list the server-level permissions, execute the following statement. Разрешениями уровня сервера являются:The server-level permissions are:

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;  

Дополнительные сведения о разрешениях см. в разделах Разрешения (ядро СУБД) и sys.fn_builtin_permissions (Transact-SQL).For more information about permissions, see Permissions (Database Engine) and sys.fn_builtin_permissions (Transact-SQL).

Работа с ролями уровня сервераWorking with Server-Level Roles

В следующей таблице описаны команды, представления и функции, предназначенные для работы с ролями уровня сервера.The following table explains the commands, views, and functions that you can use to work with server-level roles.

КомпонентFeature ТипType ОписаниеDescription
sp_helpsrvrole (Transact-SQL)sp_helpsrvrole (Transact-SQL) МетаданныеMetadata Возвращает список ролей уровня сервера.Returns a list of server-level roles.
sp_helpsrvrolemember (Transact-SQL)sp_helpsrvrolemember (Transact-SQL) МетаданныеMetadata Возвращает сведения о членах роли уровня сервера.Returns information about the members of a server-level role.
sp_srvrolepermission (Transact-SQL)sp_srvrolepermission (Transact-SQL) МетаданныеMetadata Отображает разрешения роли уровня сервера.Displays the permissions of a server-level role.
Функция IS_SRVROLEMEMBER (Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL) МетаданныеMetadata Указывает, является ли имя входа SQL ServerSQL Server членом указанной роли уровня сервера.Indicates whether a SQL ServerSQL Server login is a member of the specified server-level role.
sys.server_role_members (Transact-SQL)sys.server_role_members (Transact-SQL) МетаданныеMetadata Возвращает одну строку для каждого члена каждой роли уровня сервера.Returns one row for each member of each server-level role.
sp_addsrvrolemember (Transact-SQL)sp_addsrvrolemember (Transact-SQL) CommandCommand Добавляет имя входа в качестве члена роли уровня сервера.Adds a login as a member of a server-level role. Устарело.Deprecated. Используйте вместо этого ALTER SERVER ROLE .Use ALTER SERVER ROLE instead.
sp_dropsrvrolemember (Transact-SQL)sp_dropsrvrolemember (Transact-SQL) CommandCommand Удаляет из роли уровня сервера имя входа SQL ServerSQL Server либо пользователя или группу Windows.Removes a SQL ServerSQL Server login or a Windows user or group from a server-level role. Устарело.Deprecated. Используйте вместо этого ALTER SERVER ROLE .Use ALTER SERVER ROLE instead.
CREATE SERVER ROLE (Transact-SQL)CREATE SERVER ROLE (Transact-SQL) CommandCommand Создает определяемую пользователем роль сервера.Creates a user-defined server role.
ALTER SERVER ROLE (Transact-SQL)ALTER SERVER ROLE (Transact-SQL) CommandCommand Изменяет членство в роли сервера или изменяет имя определяемой пользователем роли сервера.Changes the membership of a server role or changes name of a user-defined server role.
DROP SERVER ROLE (Transact-SQL)DROP SERVER ROLE (Transact-SQL) CommandCommand Удаляет определяемую пользователем роль сервера.Removes a user-defined server role.
Функция IS_SRVROLEMEMBER (Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL) КомпонентFunction Определяет членство роли сервера.Determines membership of server role.

См. также:See Also

Роли уровня базы данных Database-Level Roles
Представления каталога безопасности (Transact-SQL) Security Catalog Views (Transact-SQL)
Функции безопасности (Transact-SQL) Security Functions (Transact-SQL)
Обеспечение безопасности SQL Server Securing SQL Server
GRANT, предоставление разрешений участникам на уровне сервера (Transact-SQL) GRANT Server Principal Permissions (Transact-SQL)
REVOKE, отмена разрешений участника на уровне сервера (Transact-SQL) REVOKE Server Principal Permissions (Transact-SQL)
DENY, запрет разрешения участника на уровне сервера (Transact-SQL) DENY Server Principal Permissions (Transact-SQL)
Создание роли сервераCreate a Server Role