Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
SQL Server предоставляет роли уровня сервера для управления разрешениями на сервере. Эти роли являются принципами безопасности, которые объединяют другие субъекты. Роли уровня сервера обладают полномочиями на уровне всего сервера. (Роли похожи на группы в операционной системе Windows.)
Фиксированные роли сервера предоставляются для удобства и обратной совместимости. При необходимости назначьте более конкретные разрешения.
SQL Server предоставляет девять предопределенных ролей сервера. Разрешения, предоставленные предопределенным ролям сервера, не могут быть изменены. Начиная с SQL Server 2012, можно создавать определяемые пользователем роли сервера и добавлять разрешения на уровне сервера в определяемые пользователем роли сервера.
В роли уровня сервера можно добавить субъекты уровня сервера (учетные записи для входа в SQL Server, учетные записи Windows и группы Windows). Каждый член предопределенной роли сервера может добавлять другие имена входа к той же роли. Члены определяемых пользователем ролей сервера не могут добавлять в роль другие главные объекты безопасности сервера.
Исправлены роли Server-Level
В следующей таблице представлены предопределенные роли уровня сервера и их возможности.
Предопределенная роль уровня сервера | Описание |
---|---|
системный администратор | Члены предопределенной серверной роли sysadmin могут выполнять абсолютно любые действия на сервере. |
администратор сервера | Члены фиксированной серверной роли serveradmin могут изменять параметры полной конфигурации сервера и выключать сервер. |
администратор безопасности | Члены фиксированных ролей сервера securityadmin управляют логинами и их свойствами. Они могут предоставлять, запрещать и отменять разрешения на уровне сервера (инструкции GRANT, DENY и REVOKE). Они также могут ПРЕДОСТАВИТЬ, ЗАПРЕТить и ОТМЕНИТЬ разрешения на уровне базы данных, если у них есть доступ к базе данных. Кроме того, они могут сбрасывать пароли для учетных записей SQL Server. ** Примечание по безопасности ** Возможность предоставлять доступ к ядро СУБД и настраивать разрешения пользователей позволяет администратору безопасности назначать большинство разрешений сервера. Роль securityadmin должна рассматриваться как эквивалентная sysadmin роли. |
процессадмин | Члены предопределенных ролей сервера processadmin могут завершать процессы, выполняемые в экземпляре SQL Server. |
setupadmin | Члены предопределенных ролей сервера setupadmin могут добавлять и удалять связанные серверы с помощью инструкций Transact-SQL. (членство sysadmin необходимо при использовании Management Studio.) |
bulkadmin | Члены предопределенной роли сервера bulkadmin могут выполнять инструкцию BULK INSERT. |
администратор дисков | Предопределяемая роль сервера diskadmin используется для управления файлами дисков. |
dbcreator | Члены предопределенных ролей сервера dbcreator могут создавать, изменять, удалять и восстанавливать любую базу данных. |
общественный | Каждый логин SQL Server принадлежит публичной серверной роли. Если субъект-сервер не был предоставлен или запрещен в определенных разрешениях для защищаемого объекта, пользователь наследует разрешения, предоставленные общедоступному объекту. Только назначьте общедоступные разрешения для любого объекта, если требуется, чтобы объект был доступен всем пользователям. Вы не можете изменить членство в общедоступной среде. Примечание. Публичная роль реализуется иначе, чем другие роли. Однако разрешения могут быть предоставлены, отклонены или отозваны у общественности. |
Разрешения предопределенных ролей сервера
Каждая предопределенная роль сервера имеет определенные разрешения, назначенные ему. Диаграмма разрешений, назначенных ролям сервера, см. в разделе " Фиксированный сервер ядра СУБД" и "Фиксированные роли базы данных".
Это важно
Разрешение CONTROL SERVER
аналогично, но не идентично фиксированной sysadmin
роли сервера. Разрешения не означают вступление в роль, и членство в роли не предоставляет разрешений. (Например, CONTROL SERVER
не подразумевает членство в фиксированной роли сервера sysadmin
.) Однако иногда можно имитировать роли и эквивалентные разрешения. Большинство DBCC
команд и многих системных процедур требуют членства в фиксированной sysadmin
роли сервера. Список 171 системных хранимых процедур, требующих sysadmin
членства, см. следующую запись в блоге Андреас Вольтер CONTROL SERVER vs. sysadmin/sa: разрешения, системные процедуры, DBCC, автоматическое создание схемы и эскалация привилегий - предостережения.
Server-Level Разрешения
К определяемым пользователем ролям сервера можно добавлять только разрешения на уровне сервера. Чтобы получить список разрешений на уровне сервера, выполните следующую инструкцию. Разрешения на уровне сервера:
SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;
Дополнительные сведения о разрешениях см. в статьях "Разрешения" (ядро СУБД) и sys.fn_builtin_permissions (Transact-SQL).
Работа с ролями Server-Level
В следующей таблице описываются команды, представления и функции, которые можно использовать для работы с ролями на уровне сервера.
Функция | Тип | Описание |
---|---|---|
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) | командование | Добавляет логин в качестве члена роли на уровне сервера. Устарело. Вместо этого используйте ALTER SERVER ROLE . |
sp_dropsrvrolemember (Transact-SQL) | командование | Удаляет учетную запись SQL Server, учетную запись пользователя Windows или группу из роли на уровне сервера. Устарело. Вместо этого используйте ALTER SERVER ROLE . |
CREATE SERVER ROLE (Transact-SQL) | командование | Создает определяемую пользователем роль сервера. |
ALTER SERVER ROLE (Transact-SQL) | командование | Изменяет членство роли сервера или изменяет имя определяемой пользователем роли сервера. |
УДАЛИТЬ РОЛЬ СЕРВЕРА (Transact-SQL) | командование | Удаляет определяемую пользователем роль сервера. |
IS_SRVROLEMEMBER (Transact-SQL) | Функция | Определяет членство роли сервера. |
См. также
Роли уровня базы данных
Представления каталога безопасности (Transact-SQL)
Функция безопасности (Transact-SQL)
Обеспечение безопасности SQL Server
Grant Server Principal Permissions (Transact-SQL)
ОТМЕНА полномочий серверного принципала (Transact-SQL)
Deny Server Principal Permissions (Transact-SQL)
Создать роль сервера