Роли уровня сервера
SQL Server предоставляет роли уровня сервера, помогающие в управлении разрешениями на сервере. Эти роли являются субъектами безопасности, группирующими других участников. Разрешения ролей уровня сервера распространяются на весь сервер. (Роли похожи на группы в операционной системе Microsoft Windows.)
Предопределенные роли сервера предусмотрены для удобства и обратной совместимости. Задавайте больше специфических прав каждый раз, когда это возможно.
SQL Server предоставляет девять предопределенных ролей сервера. Разрешения, назначенные предопределенным ролям сервера, не могут быть изменены. Начиная с SQL Server 2012, можно создавать пользовательские роли сервера и добавлять разрешения на уровне сервера таким пользовательским ролям.
В роли уровня сервера можно добавлять участников уровня сервера (имена входа, учетные записи Windows и группы Windows SQL Server). Каждый член предопределенной роли сервера может добавлять другие имена входа к той же роли. Члены пользовательских ролей сервера не могут добавлять других участников на уровне сервера в роль.
Предопределенные роли уровня сервера
В следующей таблице представлены предопределенные роли уровня сервера и их возможности.
Предопределенная роль уровня сервера |
Описание |
||
---|---|---|---|
sysadmin |
Члены предопределенной роли сервера sysadmin могут выполнять любые действия на сервере. |
||
serveradmin |
Члены предопределенной роли сервера serveradmin могут изменять параметры конфигурации на уровне сервера, а также выключать сервер. |
||
securityadmin |
Члены предопределенной роли сервера securityadmin управляют именами входа и их свойствами. Они могут предоставлять, запрещать и отменять разрешения на уровне сервера (инструкции GRANT, DENY и REVOKE). Они также могут предоставлять, запрещать и отменять разрешения на уровне базы данных (инструкции GRANT, DENY и REVOKE) при наличии доступа к базе данных. Кроме того, они могут сбрасывать пароли для имен входа SQL Server.
|
||
processadmin |
Члены предопределенной роли сервера processadmin могут завершать процессы, выполняемые на экземпляре SQL Server. |
||
setupadmin |
Члены предопределенной роли сервера setupadmin могут добавлять или удалять связанные серверы с помощью инструкций Transact-SQL. (При использовании Среда Management Studio необходимо членство в роли sysadmin.) |
||
bulkadmin |
Члены предопределенной роли сервера bulkadmin могут выполнять инструкцию BULK INSERT. |
||
diskadmin |
Предопределенная роль сервера diskadmin используется для управления файлами на диске. |
||
dbcreator |
Члены предопределенной роли сервера dbcreator могут создавать, изменять, удалять и восстанавливать любые базы данных. |
||
public |
Каждое имя входа SQL Server принадлежит к роли сервера public. Если для участника на уровне сервера не были предоставлены или запрещены конкретные разрешения на защищаемый объект, то он наследует разрешения роли public на этот объект. Разрешения роли public следует назначать только тому объекту, который будет доступен всем пользователям. Нельзя изменить членство в роли public.
|
Разрешение на уровне сервера
В пользовательские роли сервера можно добавить только разрешения уровня сервера. Чтобы вывести список разрешения уровня сервера, выполните следующую инструкцию. Разрешениями уровня сервера являются:
SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;
Дополнительные сведения о разрешениях см. в разделах Разрешения (компонент Database Engine) и sys.fn_builtin_permissions (Transact-SQL).
Работа с ролями уровня сервера
В следующей таблице описаны команды, представления и функции, предназначенные для работы с ролями уровня сервера.
Компонент |
Тип |
Описание |
---|---|---|
Метаданные |
Возвращает список ролей уровня сервера. |
|
Метаданные |
Возвращает сведения о членах роли уровня сервера. |
|
Метаданные |
Отображает разрешения роли уровня сервера. |
|
Метаданные |
Указывает, является ли имя входа SQL Server членом указанной роли уровня сервера. |
|
Метаданные |
Возвращает одну строку для каждого члена каждой роли уровня сервера. |
|
Команда |
Добавляет имя входа в качестве члена роли уровня сервера. Устарело. Используйте вместо этого ALTER SERVER ROLE. |
|
Команда |
Удаляет из роли уровня сервера имя входа SQL Server либо пользователя или группу Windows. Устарело. Используйте вместо этого ALTER SERVER ROLE. |
|
Команда |
Создает определяемую пользователем роль сервера. |
|
Команда |
Изменяет членство в роли сервера или изменяет имя определяемой пользователем роли сервера. |
|
Команда |
Удаляет определяемую пользователем роль сервера. |
|
Функция |
Определяет членство роли сервера. |
См. также
Справочник
Представления каталога безопасности (Transact-SQL)
Функции безопасности (Transact-SQL)
GRANT, предоставление разрешений участникам на уровне сервера (Transact-SQL)
REVOKE, отмена разрешений участника на уровне сервера (Transact-SQL)
DENY, запрет разрешения участника на уровне сервера (Transact-SQL)