sys.fn_builtin_permissions (Transact-SQL)

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureБаза данных SQL в 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>' — строковый литерал типа nvarchar(60), требующий кавычек.

Возвращаемые таблицы

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

Типы разрешений

Тип разрешения Имя разрешения Применяется к защищаемому объекту или классу
AADS ИЗМЕНИТЕ ЛЮБЫЕ DATABASEEVENT SESSION

Область применения: SQL Server 2014 (12.x) и более поздних версий.
DATABASE
AAES ИЗМЕНЕНИЕ ЛЮБОГО EVENT SESSION SERVER
AAMK ИЗМЕНИТЬ ЛЮБУЮ МАСКУ

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
ADBO АДМИНИСТРИРОВАНИЕ МАССОВЫХ ОПЕРАЦИЙ SERVER
AEDS ИЗМЕНЕНИЕ ЛЮБОГО EXTERNAL DATA SOURCE

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
AEFF ИЗМЕНЕНИЕ ЛЮБОГО EXTERNAL FILE FORMAT

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
AL ALTER APPLICATION ROLE
AL ALTER ASSEMBLY
AL ALTER

Применимо: SQL Server 2012 (11.x) и более поздних версий.
AVAILABILITY GROUP
AL ALTER ASYMMETRIC KEY
AL ALTER CERTIFICATE
AL ALTER CONTRACT
AL ALTER DATABASE
AL ALTER

Область применения: SQL Server 2017 (14.x) и более поздних версий, а также база данных SQL Azure.
DATABASE SCOPED CREDENTIAL
AL ALTER ENDPOINT
AL ALTER FULLTEXT CATALOG
AL ALTER FULLTEXT STOPLIST
AL ALTER LOGIN
AL ALTER MESSAGE TYPE
AL ALTER OBJECT
AL ALTER REMOTE SERVICE BINDING
AL ALTER ROLE
AL ALTER ROUTE
AL ALTER SCHEMA
AL ALTER SEARCH PROPERTY LIST
AL ALTER

Применимо: SQL Server 2012 (11.x) и более поздних версий.
SERVER ROLE
AL ALTER SERVICE
AL ALTER SYMMETRIC KEY
AL ALTER USER
AL ALTER XML SCHEMA COLLECTION
ALAA ИЗМЕНЕНИЕ ЛЮБОГО SERVER AUDIT SERVER
ALAG ИЗМЕНЕНИЕ ЛЮБОГО AVAILABILITY GROUP

Применимо: SQL Server 2012 (11.x) и более поздних версий.
SERVER
ALAK ИЗМЕНЕНИЕ ЛЮБОГО ASYMMETRIC KEY DATABASE
ALAR ИЗМЕНЕНИЕ ЛЮБОГО APPLICATION ROLE DATABASE
ALAS ИЗМЕНЕНИЕ ЛЮБОГО ASSEMBLY DATABASE
ALCD ИЗМЕНЕНИЕ ЛЮБОГО CREDENTIAL SERVER
ALCF ИЗМЕНЕНИЕ ЛЮБОГО CERTIFICATE DATABASE
ALCK ИЗМЕНЕНИЕ ЛЮБОГО COLUMN ENCRYPTION KEY

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
ALCM ИЗМЕНЕНИЕ ЛЮБОГО COLUMN MASTER KEY

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
ALCO ИЗМЕНЕНИЕ ЛЮБОГО СОЕДИНЕНИЯ SERVER
ALDA ИЗМЕНИТЬ ЛЮБОЙ DATABASE АУДИТ DATABASE
ALDB ИЗМЕНЕНИЕ ЛЮБОГО DATABASE SERVER
ALDC ИЗМЕНЕНИЕ ЛЮБОГО DATABASE SCOPED CONFIGURATION

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
ALDS ИЗМЕНИТЬ ЛЮБОЕ ПРОСТРАНСТВО ДАННЫХ DATABASE
ALED ИЗМЕНИТЕ ЛЮБЫЕ DATABASEEVENT NOTIFICATION DATABASE
ALES ИЗМЕНЕНИЕ ЛЮБОГО EVENT NOTIFICATION SERVER
ALFT ИЗМЕНЕНИЕ ЛЮБОГО FULLTEXT CATALOG DATABASE
ALHE ИЗМЕНЕНИЕ ЛЮБОГО ENDPOINT SERVER
ALLG ИЗМЕНЕНИЕ ЛЮБОГО LOGIN SERVER
ALLS ИЗМЕНИТЬ ЛЮБОЙ ПОДКЛЮЧЕННЫЙ СЕРВЕР SERVER
ALMT ИЗМЕНЕНИЕ ЛЮБОГО MESSAGE TYPE DATABASE
ALRL ИЗМЕНЕНИЕ ЛЮБОГО ROLE DATABASE
ALRS ИЗМЕНИТЬ РЕСУРСЫ SERVER
ALRT ИЗМЕНЕНИЕ ЛЮБОГО ROUTE DATABASE
ALSB ИЗМЕНЕНИЕ ЛЮБОГО REMOTE SERVICE BINDING DATABASE
ALSC ИЗМЕНЕНИЕ ЛЮБОГО CONTRACT DATABASE
ALSK ИЗМЕНЕНИЕ ЛЮБОГО SYMMETRIC KEY DATABASE
ALSM ИЗМЕНЕНИЕ ЛЮБОГО SCHEMA DATABASE
ALSP ИЗМЕНЕНИЕ ЛЮБОГО SECURITY POLICY

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
ALSR ИЗМЕНЕНИЕ ЛЮБОГО SERVER ROLE

Применимо: SQL Server 2012 (11.x) и более поздних версий.
SERVER
ALSS Изменить состояние сервера (ALTER SERVER STATE) SERVER
ALST ИЗМЕНИТЬ НАСТРОЙКИ SERVER
ALSV ИЗМЕНЕНИЕ ЛЮБОГО SERVICE DATABASE
ALTG ИЗМЕНИТЬ ЛЮБОЙ DATABASE DDL TRIGGER DATABASE
ALTR ALTER TRACE (изменение трассировки) SERVER
ALUS ИЗМЕНЕНИЕ ЛЮБОГО USER DATABASE
AUTH AUTHENTICATE DATABASE
AUTH ПРОВЕРКА ПОДЛИННОСТИ СЕРВЕРА SERVER
BADB BACKUP DATABASE DATABASE
BALO BACKUP ЖУРНАЛА DATABASE
CADB ПОДКЛЮЧЕНИЕ ЛЮБОГО DATABASE

Область применения: SQL Server 2014 (12.x) и более поздних версий.
SERVER
CL CONTROL APPLICATION ROLE
CL CONTROL ASSEMBLY
CL CONTROL ASYMMETRIC KEY
CL CONTROL

Применимо: SQL Server 2012 (11.x) и более поздних версий.
AVAILABILITY GROUP
CL CONTROL CERTIFICATE
CL CONTROL CONTRACT
CL CONTROL DATABASE
CL CONTROL

Область применения: SQL Server 2017 (14.x) и более поздних версий, а также база данных SQL Azure.
DATABASE SCOPED CREDENTIAL
CL CONTROL ENDPOINT
CL CONTROL FULLTEXT CATALOG
CL CONTROL FULLTEXT STOPLIST
CL CONTROL LOGIN
CL CONTROL MESSAGE TYPE
CL CONTROL OBJECT
CL CONTROL REMOTE SERVICE BINDING
CL CONTROL ROLE
CL CONTROL ROUTE
CL CONTROL SCHEMA
CL CONTROL SEARCH PROPERTY LIST
CL сервер управления SERVER
CL CONTROL

Применимо: SQL Server 2012 (11.x) и более поздних версий.
SERVER ROLE
CL CONTROL SERVICE
CL CONTROL SYMMETRIC KEY
CL CONTROL TYPE
CL CONTROL USER
CL CONTROL XML SCHEMA COLLECTION
CO CONNECT DATABASE
CO CONNECT ENDPOINT
CORP РЕПЛИКАЦИЯ CONNECT DATABASE
COSQ CONNECT SQL SERVER
CP CHECKPOINT DATABASE
CRAC CREATE AVAILABILITY GROUP

Применимо: SQL Server 2012 (11.x) и более поздних версий.
SERVER
CRAG CREATE AGGREGATE DATABASE
CRAK CREATE ASYMMETRIC KEY DATABASE
CRAS CREATE ASSEMBLY DATABASE
CRCF CREATE CERTIFICATE DATABASE
CRDB СОЗДАНИЕ ЛЮБОГО DATABASE SERVER
CRDB CREATE DATABASE DATABASE
CRDE СОЗДАТЬ DDL EVENT NOTIFICATION SERVER
CRDF CREATE DEFAULT DATABASE
CRED CREATE DATABASE DDL EVENT NOTIFICATION DATABASE
CRFN CREATE FUNCTION DATABASE
CRFT CREATE FULLTEXT CATALOG DATABASE
CRHE CREATE ENDPOINT SERVER
CRMT CREATE MESSAGE TYPE DATABASE
CRPR CREATE PROCEDURE DATABASE
CRQU CREATE QUEUE DATABASE
CRRL CREATE ROLE DATABASE
CRRT CREATE ROUTE DATABASE
CRRU CREATE RULE DATABASE
CRSB CREATE REMOTE SERVICE BINDING DATABASE
CRSC CREATE CONTRACT DATABASE
CRSK CREATE SYMMETRIC KEY DATABASE
CRSM CREATE SCHEMA DATABASE
CRSN CREATE SYNONYM DATABASE
CRSO CREATE SEQUENCE SCHEMA
CRSR CREATE SERVER ROLE

Применимо: SQL Server 2012 (11.x) и более поздних версий.
SERVER
CRSV CREATE SERVICE DATABASE
CRTB CREATE TABLE DATABASE
CRTE СОЗДАТЬ ТРАССЁР EVENT NOTIFICATION SERVER
CRTY CREATE TYPE DATABASE
CRVW CREATE VIEW DATABASE
CRXS CREATE XML SCHEMA COLLECTION DATABASE
DABO АДМИНИСТРИРОВАНИЕ DATABASE МАССОВЫХ ОПЕРАЦИЙ

Область применения: База данных SQL.
DATABASE
DL DELETE DATABASE
DL DELETE OBJECT
DL DELETE SCHEMA
EAES ВЫПОЛНИТЬ ЛЮБОЙ ВНЕШНИЙ СКРИПТ

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
EX EXECUTE DATABASE
EX EXECUTE OBJECT
EX EXECUTE SCHEMA
EX EXECUTE TYPE
EX EXECUTE XML SCHEMA COLLECTION
IAL ОЛИЦЕТВОРЕНИЯ ЛЮБОГО LOGIN

Область применения: SQL Server 2014 (12.x) и более поздних версий.
SERVER
IM IMPERSONATE LOGIN
IM IMPERSONATE USER
IN INSERT DATABASE
IN INSERT OBJECT
IN INSERT SCHEMA
KIDC KILL DATABASE CONNECTION

Область применения: База данных SQL Azure.
DATABASE
RC RECEIVE OBJECT
RF REFERENCES ASSEMBLY
RF REFERENCES ASYMMETRIC KEY
RF REFERENCES CERTIFICATE
RF REFERENCES CONTRACT
RF REFERENCES DATABASE
RF REFERENCES

Область применения: SQL Server 2017 (14.x) и более поздних версий, а также база данных SQL Azure.
DATABASE SCOPED CREDENTIAL
RF REFERENCES FULLTEXT CATALOG
RF REFERENCES FULLTEXT STOPLIST
RF REFERENCES SEARCH PROPERTY LIST
RF REFERENCES MESSAGE TYPE
RF REFERENCES OBJECT
RF REFERENCES SCHEMA
RF REFERENCES SYMMETRIC KEY
RF REFERENCES TYPE
RF REFERENCES XML SCHEMA COLLECTION
SHDN SHUTDOWN SERVER
SL SELECT DATABASE
SL SELECT OBJECT
SL SELECT SCHEMA
SN SEND SERVICE
SPLN SHOWPLAN DATABASE
SUQN УВЕДОМЛЕНИЯ О ЗАПРОСЕ НА ПОДПИСКУ DATABASE
SUS ВЫБЕРИТЕ ВСЕ USER ЗАЩИЩАЕМЫЕ ОБЪЕКТЫ

Область применения: SQL Server 2014 (12.x) и более поздних версий.
SERVER
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ ASSEMBLY
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ ASYMMETRIC KEY
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ

Применимо: SQL Server 2012 (11.x) и более поздних версий.
AVAILABILITY GROUP
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ CERTIFICATE
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ CONTRACT
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ DATABASE
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ

Область применения: SQL Server 2017 (14.x) и более поздних версий, а также база данных SQL Azure.
DATABASE SCOPED CREDENTIAL
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ ENDPOINT
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ FULLTEXT CATALOG
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ FULLTEXT STOPLIST
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ SEARCH PROPERTY LIST
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ MESSAGE TYPE
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ OBJECT
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ REMOTE SERVICE BINDING
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ ROLE
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ ROUTE
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ SCHEMA
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ

Применимо: SQL Server 2012 (11.x) и более поздних версий.
SERVER ROLE
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ SERVICE
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ SYMMETRIC KEY
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ TYPE
TO ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ XML SCHEMA COLLECTION
UMSK UNMASK

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
UP UPDATE DATABASE
UP UPDATE OBJECT
UP UPDATE SCHEMA
VW VIEW ОПРЕДЕЛЕНИЕ APPLICATION ROLE
VW VIEW ОПРЕДЕЛЕНИЕ ASSEMBLY
VW VIEW ОПРЕДЕЛЕНИЕ ASYMMETRIC KEY
VW VIEW ОПРЕДЕЛЕНИЕ

Применимо: SQL Server 2012 (11.x) и более поздних версий.
AVAILABILITY GROUP
VW VIEW ОПРЕДЕЛЕНИЕ CERTIFICATE
VW VIEW ОПРЕДЕЛЕНИЕ CONTRACT
VW VIEW ОПРЕДЕЛЕНИЕ DATABASE
VW VIEW ОПРЕДЕЛЕНИЕ

Область применения: SQL Server 2017 (14.x) и более поздних версий, а также база данных SQL Azure.
DATABASE SCOPED CREDENTIAL
VW VIEW ОПРЕДЕЛЕНИЕ ENDPOINT
VW VIEW ОПРЕДЕЛЕНИЕ FULLTEXT CATALOG
VW VIEW ОПРЕДЕЛЕНИЕ FULLTEXT STOPLIST
VW VIEW ОПРЕДЕЛЕНИЕ LOGIN
VW VIEW ОПРЕДЕЛЕНИЕ MESSAGE TYPE
VW VIEW ОПРЕДЕЛЕНИЕ OBJECT
VW VIEW ОПРЕДЕЛЕНИЕ REMOTE SERVICE BINDING
VW VIEW ОПРЕДЕЛЕНИЕ ROLE
VW VIEW ОПРЕДЕЛЕНИЕ ROUTE
VW VIEW ОПРЕДЕЛЕНИЕ SCHEMA
VW VIEW ОПРЕДЕЛЕНИЕ SEARCH PROPERTY LIST
VW VIEW ОПРЕДЕЛЕНИЕ

Применимо: SQL Server 2012 (11.x) и более поздних версий.
SERVER ROLE
VW VIEW ОПРЕДЕЛЕНИЕ SERVICE
VW VIEW ОПРЕДЕЛЕНИЕ SYMMETRIC KEY
VW VIEW ОПРЕДЕЛЕНИЕ TYPE
VW VIEW ОПРЕДЕЛЕНИЕ USER
VW VIEW ОПРЕДЕЛЕНИЕ XML SCHEMA COLLECTION
VWAD VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ SERVER
VWCK VIEW ЛЮБОЕ COLUMN ENCRYPTION KEY ОПРЕДЕЛЕНИЕ

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
VWCM VIEW ЛЮБОЕ COLUMN MASTER KEY ОПРЕДЕЛЕНИЕ

Область применения: SQL Server 2016 (13.x) и более поздних версий.
DATABASE
VWCT VIEW ОТСЛЕЖИВАНИЕ ИЗМЕНЕНИЙ OBJECT
VWCT VIEW ОТСЛЕЖИВАНИЕ ИЗМЕНЕНИЙ SCHEMA
VWDB VIEW ЛЮБОЙ DATABASE SERVER
VWDS VIEW DATABASE ГОСУДАРСТВА DATABASE
VWSS VIEW СОСТОЯНИЕ СЕРВЕРА SERVER
XA ВНЕШНИЙ ДОСТУП ASSEMBLY SERVER
XU НЕБЕЗОПАСНО 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';

См. также