sys.server_permissions (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure Платформенная система аналитики (PDW)
Возвращает по одной строке на каждое разрешение на уровне сервера.
Имя столбца | Тип данных | Description |
---|---|---|
class | tinyint | Определяет класс субъекта, в котором существует разрешение. 100 = Сервер 101 = Сервер-участник 105 = Конечная точка 108 = группа доступности |
class_desc | nvarchar(60) | Описание класса, на который существует разрешение. Одно из следующих значений: СЕРВЕР SERVER_PRINCIPAL ENDPOINT AVAILABILITY GROUP |
major_id | int | Идентификатор защищаемого объекта, на который существует разрешение, интерпретируемое согласно классу объекта. Как правило, это просто идентификатор, который применяется к тому, что представляет собой этот класс. Интерпретация нестандартных значений следующая: 100 = Always 0 |
minor_id | int | Вторичный идентификатор субъекта, в котором существует разрешение, интерпретируемое согласно классу объекта. |
grantee_principal_id | int | Идентификатор сервера-участника, на который предоставляются разрешения. |
grantor_principal_id | int | Идентификатор сервера-участника, который предоставляет эти разрешения. |
type | char(4) | Тип разрешения сервера. Список типов разрешений см. в следующей таблице. |
permission_name | nvarchar(128) | Имя разрешения. |
state | char(1) | Состояние разрешения: D = запретить R = отменить G = предоставить W = Разрешить с аргументом Grant |
state_desc | nvarchar(60) | Описание состояния разрешения: DENY REVOKE GRANT GRANT_WITH_GRANT_OPTION |
Тип разрешения | Имя разрешения | Применяется к защищаемому объекту |
---|---|---|
AAES | ALTER ANY EVENT SESSION | SERVER |
ADBO | ADMINISTER BULK OPERATIONS | SERVER |
AL | ИЗМЕНИТЬ | ENDPOINT, LOGIN |
ALAA | ALTER ANY SERVER AUDIT | SERVER |
ALAG | ALTER ANY AVAILABILITY GROUP | SERVER |
ALCD | ALTER ANY CREDENTIAL | SERVER |
ALCO | ALTER ANY CONNECTION | SERVER |
ALDB | ALTER ANY DATABASE | SERVER |
ALES | ALTER ANY EVENT NOTIFICATION | SERVER |
ALHE | ALTER ANY ENDPOINT | SERVER |
ALLG | ALTER ANY LOGIN | SERVER |
ALLS | ALTER ANY LINKED SERVER | SERVER |
ALRS | ALTER RESOURCES | SERVER |
ALSR | ALTER ANY SERVER ROLE | SERVER |
ALSS | ALTER SERVER STATE | SERVER |
ALST | ALTER SETTINGS | SERVER |
ALTR | ALTER TRACE | SERVER |
АУТЕНТИФИКАЦИЯ | AUTHENTICATE SERVER | SERVER |
CADB | CONNECT ANY DATABASE | SERVER |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | ENDPOINT, LOGIN |
CL | CONTROL SERVER | SERVER |
CO | ПОДКЛЮЧЕНИЕ | КОНЕЧНАЯ ТОЧКА |
COSQ | CONNECT SQL | SERVER |
CRAC | CREATE AVAILABILITY GROUP | SERVER |
CRDB | CREATE ANY DATABASE | SERVER |
CRDE | CREATE DDL EVENT NOTIFICATION | SERVER |
CRHE | CREATE ENDPOINT … | SERVER |
CRSR | CREATE SERVER ROLE | SERVER |
CRTE | CREATE TRACE EVENT NOTIFICATION | SERVER |
IAL | IMPERSONATE ANY LOGIN | SERVER |
"IM" (Обмен мгновенными сообщениями); | IMPERSONATE | ВХОД |
SHDN | SHUTDOWN | SERVER |
SUS | SELECT ALL USER SECURABLES | SERVER |
TO | TAKE OWNERSHIP | КОНЕЧНАЯ ТОЧКА |
VW | VIEW DEFINITION | ENDPOINT, LOGIN |
VWAD | VIEW ANY DEFINITION | SERVER |
VWDB | VIEW ANY DATABASE | SERVER |
VWSS | VIEW SERVER STATE | SERVER |
XA | EXTERNAL ACCESS | SERVER |
XU | UNSAFE ASSEMBLY | SERVER |
Разрешения
Любой пользователь может видеть свои собственные разрешения. Для просмотра разрешений, относящихся к другим именам входа, требуется разрешение VIEW DEFINITION или ALTER ANY LOGIN либо любое разрешение на имя входа. Для просмотра определяемых пользователем ролей сервера необходимо иметь разрешение ALTER ANY SERVER ROLE или быть членом роли.
Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе Metadata Visibility Configuration.
Примеры
Следующий запрос перечисляет разрешения, явно предоставленные или отклоненные для участников на уровне сервера.
Внимание
Разрешения предопределенных ролей сервера не отображаются в sys.server_permissions. Поэтому участники на уровне сервера могут иметь дополнительные разрешения, не перечисленные здесь.
SELECT pr.principal_id, pr.name, pr.type_desc,
pe.state_desc, pe.permission_name
FROM sys.server_principals AS pr
JOIN sys.server_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
См. также
Представления каталога безопасности (Transact-SQL)
Защищаемые объекты
Представления каталога (Transact-SQL)
Разрешения (ядро СУБД)
Иерархия разрешений (ядро СУБД)