Роли уровня сервера

Для удобства управления разрешениями на сервере SQL Server предоставляет несколько ролей, которые являются субъектами безопасности, группирующими других участников. Роли похожи на группы в операционной системе Microsoft Windows.

Предопределенные роли сервера предоставляются для удобства пользователей и обеспечения обратной совместимости. При возможности назначайте более специализированные разрешения.

Роли уровня сервера также называются предопределенными ролями сервера, поскольку пользователь не может создать новые роли уровня сервера. Разрешения ролей уровня сервера распространяются на весь сервер.

В роли уровня сервера можно добавлять имена входа SQL Server, учетные записи Windows и группы Windows. Каждый член предопределенной роли сервера может добавлять другие имена входа к той же роли.

В следующей таблице представлены роли уровня сервера и их возможности.

Имя роли на уровне сервера

Описание

sysadmin

Члены предопределенной роли сервера sysadmin могут выполнять любые действия на сервере.

serveradmin

Члены предопределенной роли сервера serveradmin могут изменять параметры конфигурации на уровне сервера, а также выключать сервер.

securityadmin

Члены предопределенной роли сервера securityadmin управляют именами входа и их свойствами. Они могут предоставлять, запрещать и отменять разрешения на уровне сервера (инструкции GRANT, DENY и REVOKE). Они также могут предоставлять, запрещать и отменять разрешения на уровне базы данных (инструкции GRANT, DENY и REVOKE) при наличии доступа к базе данных. Кроме того, они могут сбрасывать пароли для имен входа SQL Server.

Примечание по безопасностиПримечание по безопасности
Возможность предоставления доступа к компоненту Database Engine и настройки разрешений пользователя позволяет администраторам безопасности назначать большинство разрешений сервера. Роль securityadmin должна рассматриваться как эквивалент роли sysadmin.

processadmin

Члены предопределенной роли сервера processadmin могут завершать процессы, выполняемые на экземпляре SQL Server.

setupadmin

Члены предопределенной роли сервера setupadmin могут добавлять или удалять связанные серверы.

bulkadmin

Члены предопределенной роли сервера bulkadmin могут выполнять инструкцию BULK INSERT.

diskadmin

Предопределенная роль сервера diskadmin используется для управления файлами на диске.

dbcreator

Члены предопределенной роли сервера dbcreator могут создавать, изменять, удалять и восстанавливать любые базы данных.

public

Каждое имя входа SQL Server принадлежит к роли сервера public. Если для участника на уровне сервера не были предоставлены или запрещены конкретные разрешения на защищаемый объект, он наследует разрешения роли public на этот объект. Разрешения роли public следует назначать только тому объекту, который будет доступен всем пользователям.

Дополнительные сведения о разрешениях ролей уровня сервера см. в разделе Разрешения предопределенных ролей сервера (компонент Database Engine).

Работа с ролями уровня сервера

В следующей таблице описаны команды, представления и функции, предназначенные для работы с ролями уровня сервера.

Функция

Тип

Описание

sp_helpsrvrole (Transact-SQL)

Метаданные

Возвращает список ролей уровня сервера.

sp_helpsrvrolemember (Transact-SQL)

Метаданные

Возвращает сведения о членах роли уровня сервера.

sp_srvrolepermission (Transact-SQL)

Метаданные

Отображает разрешения роли уровня сервера.

Функция IS_SRVROLEMEMBER (Transact-SQL)

Метаданные

Указывает, является ли имя входа SQL Server членом указанной роли уровня сервера.

sys.server_role_members (Transact-SQL)

Метаданные

Возвращает одну строку для каждого члена каждой роли уровня сервера.

sp_addsrvrolemember (Transact-SQL)

Command

Добавляет имя входа в качестве члена роли уровня сервера.

sp_dropsrvrolemember (Transact-SQL)

Command

Удаляет из роли уровня сервера имя входа SQL Server либо пользователя или группу Windows.