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 | СЕРВЕР |
ADBO | ADMINISTER BULK OPERATIONS | СЕРВЕР |
AL | ИЗМЕНИТЬ | ENDPOINT, LOGIN |
ALAA | ALTER ANY SERVER AUDIT | СЕРВЕР |
ALAG | ALTER ANY AVAILABILITY GROUP | СЕРВЕР |
ALCD | ALTER ANY CREDENTIAL | СЕРВЕР |
ALCO | ALTER ANY CONNECTION | СЕРВЕР |
ALDB | ALTER ANY DATABASE | СЕРВЕР |
ALES | ALTER ANY EVENT NOTIFICATION | СЕРВЕР |
ALHE | ALTER ANY ENDPOINT | СЕРВЕР |
ALLG | ALTER ANY LOGIN | СЕРВЕР |
ALLS | ALTER ANY LINKED SERVER | СЕРВЕР |
ALRS | ALTER RESOURCES | СЕРВЕР |
ALSR | ALTER ANY SERVER ROLE | СЕРВЕР |
ALSS | ALTER SERVER STATE | СЕРВЕР |
ALST | ALTER SETTINGS | СЕРВЕР |
ALTR | ALTER TRACE | СЕРВЕР |
АУТЕНТИФИКАЦИЯ | AUTHENTICATE SERVER | СЕРВЕР |
CADB | CONNECT ANY DATABASE | СЕРВЕР |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | ENDPOINT, LOGIN |
CL | CONTROL SERVER | СЕРВЕР |
CO | ПОДКЛЮЧЕНИЕ | КОНЕЧНАЯ ТОЧКА |
COSQ | CONNECT SQL | СЕРВЕР |
CRAC | CREATE AVAILABILITY GROUP | СЕРВЕР |
CRDB | CREATE ANY DATABASE | СЕРВЕР |
CRDE | CREATE DDL EVENT NOTIFICATION | СЕРВЕР |
CRHE | CREATE ENDPOINT … | СЕРВЕР |
CRSR | CREATE SERVER ROLE | СЕРВЕР |
CRTE | CREATE TRACE EVENT NOTIFICATION | СЕРВЕР |
IAL | IMPERSONATE ANY LOGIN | СЕРВЕР |
"IM" (Обмен мгновенными сообщениями); | IMPERSONATE | ВХОД |
SHDN | SHUTDOWN | СЕРВЕР |
SUS | SELECT ALL USER SECURABLES | СЕРВЕР |
TO | TAKE OWNERSHIP | КОНЕЧНАЯ ТОЧКА |
VW | VIEW DEFINITION | ENDPOINT, LOGIN |
VWAD | VIEW ANY DEFINITION | СЕРВЕР |
VWDB | VIEW ANY DATABASE | СЕРВЕР |
VWSS | VIEW SERVER STATE | СЕРВЕР |
XA | EXTERNAL ACCESS | СЕРВЕР |
XU | UNSAFE ASSEMBLY | СЕРВЕР |
Разрешения
Любой пользователь может видеть свои собственные разрешения. Для просмотра разрешений, относящихся к другим именам входа, требуется разрешение 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)
Разрешения (ядро СУБД)
Иерархия разрешений (ядро СУБД)