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


sys.fn_builtin_permissions (Transact-SQL)

Applies to:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Функция возвращает описание иерархии встроенных разрешений сервера. sys.fn_builtin_permissionsможно вызывать только в SQL Server и База данных SQL Azure, и он возвращает все разрешения независимо от того, поддерживаются ли они на текущей платформе. Большинство разрешений применяются ко всем платформам, но некоторые из них — только к определенным. Например, разрешения на уровне сервера нельзя предоставить в База данных SQL. Сведения о том, какие платформы поддерживают каждое разрешение, см. в разделе "Разрешения" (ядро СУБД).

Соглашения о синтаксисе Transact-SQL

Syntax

sys.fn_builtin_permissions ( [ DEFAULT | NULL ]
    | empty_string | '<securable_class>' } )
  
<securable_class> ::=
      APPLICATION ROLE | ASSEMBLY | ASYMMETRIC KEY | AVAILABILITY GROUP
    | CERTIFICATE | CONTRACT | DATABASE | DATABASE SCOPED CREDENTIAL
    | ENDPOINT | FULLTEXT CATALOG | FULLTEXT STOPLIST | LOGIN
    | MESSAGE TYPE | OBJECT | REMOTE SERVICE BINDING | ROLE | ROUTE
    | SCHEMA | SEARCH PROPERTY LIST | SERVER | SERVER ROLE | SERVICE
    | SYMMETRIC KEY | TYPE | USER | XML SCHEMA COLLECTION

Arguments

[ DEFAULT | NULL ]

При вызове с параметром DEFAULT (без кавычки) функция вернет полный список встроенных разрешений.

ЗНАЧЕНИЕ NULL эквивалентно DEFAULT.

empty_string

Эквивалентен DEFAULT.

"<securable_class>"

При вызове с именем одного защищаемого класса возвращаются все разрешения, sys.fn_builtin_permissions применяемые к классу. '<securable_class>' is a string literal of type nvarchar(60) that requires quotation marks.

Tables returned

Column name Data type Collation Description
class_desc nvarchar(60) Параметры сортировки сервера Описание защищаемого класса.
permission_name nvarchar(60) Параметры сортировки сервера Permission name.
type varchar(4) Параметры сортировки сервера Код компактных типов разрешений. См. таблицу далее.
covering_permission_name nvarchar(60) Параметры сортировки сервера Если значение не NULL, то это имя разрешения на данный класс, который содержит в себе другие разрешения данного класса.
parent_class_desc nvarchar(60) Параметры сортировки сервера Если значение не NULL, то это имя родительского класса, который содержит текущий класс.
parent_covering_permission_name nvarchar(60) Параметры сортировки сервера Если значение не NULL, то это имя разрешения на родительский класс, который содержит в себе другие разрешения класса.

Permission types

Permission type Permission name Применяется к защищаемому объекту или классу
AADS ИЗМЕНИТЬ ЛЮБОЙ СЕССИЮ СОБЫТИЯ БАЗЫ ДАННЫХ

Applies to: SQL Server 2014 (12.x) and later versions.
DATABASE
AAES ИЗМЕНИТЬ ЛЮБУЮ СЕССИЮ СОБЫТИЯ SERVER
AAMK ИЗМЕНИТЬ ЛЮБУЮ МАСКУ

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
ADBO АДМИНИСТРИРОВАНИЕ МАССОВЫХ ОПЕРАЦИЙ SERVER
AEDS ИЗМЕНЕНИЕ ЛЮБОГО ВНЕШНЕГО ИСТОЧНИКА ДАННЫХ

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
AEFF ИЗМЕНИТЬ ЛЮБОЙ ВНЕШНИЙ ФОРМАТ ФАЙЛА

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
AL ALTER APPLICATION ROLE
AL ALTER ASSEMBLY
AL ALTER

Applies to: SQL Server 2012 (11.x) and later versions.
AVAILABILITY GROUP
AL ALTER ASYMMETRIC KEY
AL ALTER CERTIFICATE
AL ALTER CONTRACT
AL ALTER DATABASE
AL ALTER

Applies to: SQL Server 2017 (14.x) and later versions, and Azure SQL Database.
УЧЕТНЫЕ ДАННЫЕ В ПРЕДЕЛАХ БАЗЫ ДАННЫХ
AL ALTER ENDPOINT
AL ALTER FULLTEXT CATALOG
AL ALTER FULLTEXT STOPLIST
AL ALTER LOGIN
AL ALTER MESSAGE TYPE
AL ALTER OBJECT
AL ALTER ПРИВЯЗКА ДЛЯ УДАЛЕННОЙ СЛУЖБЫ
AL ALTER ROLE
AL ALTER ROUTE
AL ALTER SCHEMA
AL ALTER СПИСОК ДЛЯ ПОИСКА НЕДВИЖИМОСТИ
AL ALTER

Applies to: SQL Server 2012 (11.x) and later versions.
SERVER ROLE
AL ALTER SERVICE
AL ALTER SYMMETRIC KEY
AL ALTER USER
AL ALTER КОЛЛЕКЦИЯ СХЕМ XML
ALAA ИЗМЕНЕНИЕ ЛЮБОГО АУДИТА СЕРВЕРА SERVER
ALAG Изменить любую группу доступности.

Applies to: SQL Server 2012 (11.x) and later versions.
SERVER
ALAK Изменить любой асимметричный ключ DATABASE
ALAR ИЗМЕНИТЬ ЛЮБУЮ РОЛЬ ПРИЛОЖЕНИЯ DATABASE
ALAS ИЗМЕНИТЬ ЛЮБУЮ СБОРКУ DATABASE
ALCD ИЗМЕНЯТЬ ЛЮБУЮ УДОСТОВЕРЕННОСТЬ SERVER
ALCF ИЗМЕНИТЬ ЛЮБОЙ СЕРТИФИКАТ DATABASE
ALCK Изменить любой ключ шифрования столбца

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
ALCM ИЗМЕНИТЬ ЛЮБОЙ ОСНОВНОЙ КЛЮЧ СТОЛБЦА

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
ALCO ИЗМЕНЕНИЕ ЛЮБОГО СОЕДИНЕНИЯ SERVER
ALDA ИЗМЕНИТЬ ЛЮБУЮ ПРОВЕРКУ БАЗЫ ДАННЫХ DATABASE
ALDB ALTER ANY DATABASE (ИЗМЕНЕНИЕ ЛЮБОЙ БАЗЫ ДАННЫХ). SERVER
ALDC ИЗМЕНИТЬ ЛЮБУЮ КОНФИГУРАЦИЮ В ОБЛАСТИ БАЗЫ ДАННЫХ

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
ALDS ИЗМЕНИТЬ ЛЮБОЕ ПРОСТРАНСТВО ДАННЫХ DATABASE
ALED Изменение любых уведомлений о событиях базы данных (ALTER ANY DATABASE EVENT NOTIFICATION) DATABASE
ALES ИЗМЕНЕНИЕ ЛЮБОГО УВЕДОМЛЕНИЯ О СОБЫТИИ SERVER
ALFT ИЗМЕНИТЬ ЛЮБОЙ ПОЛНОТЕКСТОВЫЙ КАТАЛОГ DATABASE
ALHE ИЗМЕНИТЬ ЛЮБОЙ КОНЕЧНЫЙ ТЕРМИНАЛ SERVER
ALLG ИЗМЕНИТЬ ЛЮБОЙ ВХОД SERVER
ALLS ИЗМЕНИТЬ ЛЮБОЙ ПОДКЛЮЧЕННЫЙ СЕРВЕР SERVER
ALMT ИЗМЕНЯТЬ ЛЮБОЙ ТИП СООБЩЕНИЯ DATABASE
ALRL ИЗМЕНИТЬ ЛЮБУЮ РОЛЬ DATABASE
ALRS ALTER RESOURCES SERVER
ALRT ИЗМЕНИТЬ ЛЮБОЙ МАРШРУТ DATABASE
ALSB ИЗМЕНИТЬ ЛЮБУЮ УДАЛЕННУЮ СВЯЗЬ СЕРВИСА DATABASE
ALSC ИЗМЕНЯТЬ ЛЮБОЙ КОНТРАКТ DATABASE
ALSK ИЗМЕНИТЬ ЛЮБОЙ СИММЕТРИЧНЫЙ КЛЮЧ DATABASE
ALSM ИЗМЕНИТЬ ЛЮБУЮ СХЕМУ DATABASE
ALSP ИЗМЕНИТЬ ЛЮБУЮ ПОЛИТИКУ БЕЗОПАСНОСТИ

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
ALSR ИЗМЕНЕНИЕ ЛЮБОЙ РОЛИ СЕРВЕРА

Applies to: SQL Server 2012 (11.x) and later versions.
SERVER
ALSS Изменить состояние сервера (ALTER SERVER STATE) SERVER
ALST ALTER SETTINGS SERVER
ALSV ИЗМЕНЕНИЕ ЛЮБОЙ СЛУЖБЫ DATABASE
ALTG ИЗМЕНИТЬ ЛЮБОЙ ТРИГГЕР DDL БАЗЫ ДАННЫХ DATABASE
ALTR ALTER TRACE SERVER
ALUS ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ DATABASE
AUTH AUTHENTICATE DATABASE
AUTH AUTHENTICATE SERVER SERVER
BADB BACKUP DATABASE DATABASE
BALO BACKUP LOG DATABASE
CADB ПОДКЛЮЧИТЕ ЛЮБУЮ БАЗУ ДАННЫХ

Applies to: SQL Server 2014 (12.x) and later versions.
SERVER
CL CONTROL APPLICATION ROLE
CL CONTROL ASSEMBLY
CL CONTROL ASYMMETRIC KEY
CL CONTROL

Applies to: SQL Server 2012 (11.x) and later versions.
AVAILABILITY GROUP
CL CONTROL CERTIFICATE
CL CONTROL CONTRACT
CL CONTROL DATABASE
CL CONTROL

Applies to: SQL Server 2017 (14.x) and later versions, and Azure SQL Database.
УЧЕТНЫЕ ДАННЫЕ В ПРЕДЕЛАХ БАЗЫ ДАННЫХ
CL CONTROL ENDPOINT
CL CONTROL FULLTEXT CATALOG
CL CONTROL FULLTEXT STOPLIST
CL CONTROL LOGIN
CL CONTROL MESSAGE TYPE
CL CONTROL OBJECT
CL CONTROL ПРИВЯЗКА ДЛЯ УДАЛЕННОЙ СЛУЖБЫ
CL CONTROL ROLE
CL CONTROL ROUTE
CL CONTROL SCHEMA
CL CONTROL СПИСОК ДЛЯ ПОИСКА НЕДВИЖИМОСТИ
CL CONTROL SERVER SERVER
CL CONTROL

Applies to: SQL Server 2012 (11.x) and later versions.
SERVER ROLE
CL CONTROL SERVICE
CL CONTROL SYMMETRIC KEY
CL CONTROL TYPE
CL CONTROL USER
CL CONTROL КОЛЛЕКЦИЯ СХЕМ XML
CO CONNECT DATABASE
CO CONNECT ENDPOINT
CORP CONNECT REPLICATION DATABASE
COSQ CONNECT SQL SERVER
CP CHECKPOINT DATABASE
CRAC СОЗДАНИЕ ГРУППЫ ДОСТУПНОСТИ

Applies to: SQL Server 2012 (11.x) and later versions.
SERVER
CRAG CREATE AGGREGATE DATABASE
CRAK СОЗДАНИЕ АСИММЕТРИЧНОГО КЛЮЧА DATABASE
CRAS CREATE ASSEMBLY DATABASE
CRCF CREATE CERTIFICATE DATABASE
CRDB CREATE ANY DATABASE (СОЗДАНИЕ ЛЮБОЙ БАЗЫ ДАННЫХ); SERVER
CRDB CREATE DATABASE DATABASE
CRDE СОЗДАНИЕ УВЕДОМЛЕНИЯ О СОБЫТИИ DDL SERVER
CRDF CREATE DEFAULT DATABASE
CRED СОЗДАНИЕ УВЕДОМЛЕНИЯ О СОБЫТИЯХ БАЗЫ ДАННЫХ DDL DATABASE
CRFN CREATE FUNCTION DATABASE
CRFT СОЗДАНИЕ КАТАЛОГА FULLTEXT DATABASE
CRHE CREATE ENDPOINT SERVER
CRMT СОЗДАТЬ ТИП СООБЩЕНИЯ DATABASE
CRPR CREATE PROCEDURE DATABASE
CRQU CREATE QUEUE DATABASE
CRRL CREATE ROLE DATABASE
CRRT CREATE ROUTE DATABASE
CRRU CREATE RULE DATABASE
CRSB СОЗДАНИЕ ПРИВЯЗКИ К УДАЛЕННОЙ СЛУЖБЕ DATABASE
CRSC CREATE CONTRACT DATABASE
CRSK СОЗДАНИЕ СИММЕТРИЧНОГО КЛЮЧА DATABASE
CRSM CREATE SCHEMA DATABASE
CRSN CREATE SYNONYM DATABASE
CRSO CREATE SEQUENCE SCHEMA
CRSR СОЗДАТЬ РОЛЬ СЕРВЕРА

Applies to: SQL Server 2012 (11.x) and later versions.
SERVER
CRSV CREATE SERVICE DATABASE
CRTB CREATE TABLE DATABASE
CRTE СОЗДАНИЕ УВЕДОМЛЕНИЯ О СОБЫТИЯХ ТРАССИРОВКИ SERVER
CRTY CREATE TYPE DATABASE
CRVW CREATE VIEW DATABASE
CRXS СОЗДАТЬ КОЛЛЕКЦИЮ XML-СХЕМ DATABASE
DABO УПРАВЛЕНИЕ МАССОВЫМИ ОПЕРАЦИЯМИ С БАЗОЙ ДАННЫХ

Applies to: SQL Database.
DATABASE
DL DELETE DATABASE
DL DELETE OBJECT
DL DELETE SCHEMA
EAES ВЫПОЛНИТЬ ЛЮБОЙ ВНЕШНИЙ СКРИПТ

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
EX EXECUTE DATABASE
EX EXECUTE OBJECT
EX EXECUTE SCHEMA
EX EXECUTE TYPE
EX EXECUTE КОЛЛЕКЦИЯ СХЕМ XML
IAL ОЛИЦЕТВОРИТЬ ЛЮБОЕ ИМЯ ВХОДА

Applies to: SQL Server 2014 (12.x) and later versions.
SERVER
IM IMPERSONATE LOGIN
IM IMPERSONATE USER
IN INSERT DATABASE
IN INSERT OBJECT
IN INSERT SCHEMA
KIDC Завершить подключение к базе данных

Applies to: Azure SQL Database.
DATABASE
RC RECEIVE OBJECT
RF REFERENCES ASSEMBLY
RF REFERENCES ASYMMETRIC KEY
RF REFERENCES CERTIFICATE
RF REFERENCES CONTRACT
RF REFERENCES DATABASE
RF REFERENCES

Applies to: SQL Server 2017 (14.x) and later versions, and Azure SQL Database.
УЧЕТНЫЕ ДАННЫЕ В ПРЕДЕЛАХ БАЗЫ ДАННЫХ
RF REFERENCES FULLTEXT CATALOG
RF REFERENCES FULLTEXT STOPLIST
RF REFERENCES СПИСОК ДЛЯ ПОИСКА НЕДВИЖИМОСТИ
RF REFERENCES MESSAGE TYPE
RF REFERENCES OBJECT
RF REFERENCES SCHEMA
RF REFERENCES SYMMETRIC KEY
RF REFERENCES TYPE
RF REFERENCES КОЛЛЕКЦИЯ СХЕМ XML
SHDN SHUTDOWN SERVER
SL SELECT DATABASE
SL SELECT OBJECT
SL SELECT SCHEMA
SN SEND SERVICE
SPLN SHOWPLAN DATABASE
SUQN УВЕДОМЛЕНИЯ О ЗАПРОСЕ НА ПОДПИСКУ DATABASE
SUS ВЫБЕРИТЕ ВСЕ ЗАЩИЩАЕМЫЕ ПОЛЬЗОВАТЕЛЕМ ОБЪЕКТЫ

Applies to: SQL Server 2014 (12.x) and later versions.
SERVER
TO TAKE OWNERSHIP ASSEMBLY
TO TAKE OWNERSHIP ASYMMETRIC KEY
TO TAKE OWNERSHIP

Applies to: SQL Server 2012 (11.x) and later versions.
AVAILABILITY GROUP
TO TAKE OWNERSHIP CERTIFICATE
TO TAKE OWNERSHIP CONTRACT
TO TAKE OWNERSHIP DATABASE
TO TAKE OWNERSHIP

Applies to: SQL Server 2017 (14.x) and later versions, and Azure SQL Database.
УЧЕТНЫЕ ДАННЫЕ В ПРЕДЕЛАХ БАЗЫ ДАННЫХ
TO TAKE OWNERSHIP ENDPOINT
TO TAKE OWNERSHIP FULLTEXT CATALOG
TO TAKE OWNERSHIP FULLTEXT STOPLIST
TO TAKE OWNERSHIP СПИСОК ДЛЯ ПОИСКА НЕДВИЖИМОСТИ
TO TAKE OWNERSHIP MESSAGE TYPE
TO TAKE OWNERSHIP OBJECT
TO TAKE OWNERSHIP ПРИВЯЗКА ДЛЯ УДАЛЕННОЙ СЛУЖБЫ
TO TAKE OWNERSHIP ROLE
TO TAKE OWNERSHIP ROUTE
TO TAKE OWNERSHIP SCHEMA
TO TAKE OWNERSHIP

Applies to: SQL Server 2012 (11.x) and later versions.
SERVER ROLE
TO TAKE OWNERSHIP SERVICE
TO TAKE OWNERSHIP SYMMETRIC KEY
TO TAKE OWNERSHIP TYPE
TO TAKE OWNERSHIP КОЛЛЕКЦИЯ СХЕМ XML
UMSK UNMASK

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
UP UPDATE DATABASE
UP UPDATE OBJECT
UP UPDATE SCHEMA
VW VIEW DEFINITION APPLICATION ROLE
VW VIEW DEFINITION ASSEMBLY
VW VIEW DEFINITION ASYMMETRIC KEY
VW VIEW DEFINITION

Applies to: SQL Server 2012 (11.x) and later versions.
AVAILABILITY GROUP
VW VIEW DEFINITION CERTIFICATE
VW VIEW DEFINITION CONTRACT
VW VIEW DEFINITION DATABASE
VW VIEW DEFINITION

Applies to: SQL Server 2017 (14.x) and later versions, and Azure SQL Database.
УЧЕТНЫЕ ДАННЫЕ В ПРЕДЕЛАХ БАЗЫ ДАННЫХ
VW VIEW DEFINITION ENDPOINT
VW VIEW DEFINITION FULLTEXT CATALOG
VW VIEW DEFINITION FULLTEXT STOPLIST
VW VIEW DEFINITION LOGIN
VW VIEW DEFINITION MESSAGE TYPE
VW VIEW DEFINITION OBJECT
VW VIEW DEFINITION ПРИВЯЗКА ДЛЯ УДАЛЕННОЙ СЛУЖБЫ
VW VIEW DEFINITION ROLE
VW VIEW DEFINITION ROUTE
VW VIEW DEFINITION SCHEMA
VW VIEW DEFINITION СПИСОК ДЛЯ ПОИСКА НЕДВИЖИМОСТИ
VW VIEW DEFINITION

Applies to: SQL Server 2012 (11.x) and later versions.
SERVER ROLE
VW VIEW DEFINITION SERVICE
VW VIEW DEFINITION SYMMETRIC KEY
VW VIEW DEFINITION TYPE
VW VIEW DEFINITION USER
VW VIEW DEFINITION КОЛЛЕКЦИЯ СХЕМ XML
VWAD Просмотреть любое определение SERVER
VWCK ПРОСМОТР ОПРЕДЕЛЕНИЯ КЛЮЧА ШИФРОВАНИЯ СТОЛБЦА

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
VWCM ПРОСМОТР ОПРЕДЕЛЕНИЯ ГЛАВНОГО КЛЮЧА СТОЛБЦА

Applies to: SQL Server 2016 (13.x) and later versions.
DATABASE
VWCT ПРОСМОТР ИЗМЕНЕНИЙ OBJECT
VWCT ПРОСМОТР ИЗМЕНЕНИЙ SCHEMA
VWDB Просмотр любой базы данных SERVER
VWDS ПРОСМОТР СОСТОЯНИЯ БАЗЫ ДАННЫХ DATABASE
VWSS просмотр состояния сервера SERVER
XA СБОРКА ВНЕШНЕГО ДОСТУПА SERVER
XU UNSAFE ASSEMBLY SERVER

Remarks

Функция с табличным значением sys.fn_builtin_permissions выдает копию стандартной иерархии разрешений. Такая иерархия включает в себя покрытие разрешений. Результирующий DEFAULT набор описывает направленный ациклический граф иерархии разрешений, из которого корень является (класс = SERVER, разрешение = CONTROL SERVER).

Функция sys.fn_builtin_permissions не принимает связанные параметры.

Функция sys.fn_builtin_permissions возвращает пустой набор, если вызвана с недопустимым именем класса.

На следующем рисунке показаны разрешения и их связи друг с другом. Некоторые из разрешений более высокого уровня (например, CONTROL SERVER) указаны несколько раз. Рисунок в этой статье слишком мал для чтения. Вы можете скачать полноразмерный ядро СУБД плакат разрешений в формате PDF.

Снимок экрана: PDF-файл разрешений ядра СУБД.

Permissions

Требуется членство в роли public.

Examples

A. Список всех встроенных разрешений

Используйте DEFAULT или пустую строку для возврата всех разрешений.

SELECT * FROM sys.fn_builtin_permissions(DEFAULT);
SELECT * FROM sys.fn_builtin_permissions('');

B. Вывод списка разрешений, которые можно задать на симметричном ключе

Укажите класс для возврата всех возможных разрешений для этого класса.

SELECT * FROM sys.fn_builtin_permissions(N'SYMMETRIC KEY');

C. Перечисление классов, для которых есть разрешение SELECT

SELECT * FROM sys.fn_builtin_permissions(DEFAULT)
    WHERE permission_name = 'SELECT';

See also