Разрешения предопределенных ролей сервера (компонент Database Engine)
SQL Server назначает особые разрешения предопределенным ролям сервера. Разрешения предопределенных ролей сервера нельзя изменять. Предопределенные роли сервера предоставляются для удобства пользователей и обеспечения обратной совместимости. При возможности назначайте более специализированные разрешения.
В следующей таблице описываются разрешения, предоставляемые предопределенным ролям сервера.
Предопределенная роль сервера |
Разрешение на уровне сервера |
---|---|
bulkadmin |
Предоставляется: ADMINISTER BULK OPERATIONS |
dbcreator |
Предоставляется: CREATE ANY DATABASE |
diskadmin |
Предоставляется: ALTER RESOURCES |
processadmin |
Предоставляется: ALTER ANY CONNECTION, ALTER SERVER STATE |
securityadmin |
Предоставляется: ALTER ANY LOGIN
Примечание по безопасности
Возможность предоставления доступа к компоненту Database Engine и настройки разрешений пользователя позволяет администраторам безопасности назначать большинство разрешений сервера. Роль securityadmin должна рассматриваться как эквивалент роли sysadmin.
|
serveradmin |
Предоставляется: ALTER ANY ENDPOINT, ALTER RESOURCES, ALTER SERVER STATE, ALTER SETTINGS, SHUTDOWN, VIEW SERVER STATE |
setupadmin |
Предоставляется: ALTER ANY LINKED SERVER |
sysadmin |
Предоставляется с параметром GRANT: CONTROL SERVER |
Примечания
Роль сервера public не является предопределенной, поскольку для нее можно изменять разрешения. Роли сервера public предоставляется разрешение VIEW ANY DATABASE и разрешение CONNECT для конечных точек по умолчанию (TSQL Local Machine, TSQL Named Pipes, TSQL Default TCP, TSQL Default VIA).
Члены предопределенной роли сервера securityadmin могут предоставлять разрешения как на уровне сервера, так и на уровне базы данных.
Предопределенные роли сервера не являются аналогами разрешений уровня сервера. Например, у предопределенной роли сервера sysadmin имеется разрешение CONTROL SERVER. Однако предоставление разрешения CONTROL SERVER не делает имя входа членом предопределенной роли сервера sysadmin. Функция Функция IS_SRVROLEMEMBER (Transact-SQL) правильно укажет в отчете, что имя входа не является элементом предопределенной роли сервера sysadmin. Элементы предопределенной роли сервера sysadmin определяются во всех базах данных как пользователь dbo, но имена входа с разрешением CONTROL SERVER так не определяются.