Поделиться через


Разрешения предопределенных ролей сервера (компонент 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 так не определяются.