sys.fn_builtin_permissions (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
Функция возвращает описание иерархии встроенных разрешений сервера. sys.fn_builtin_permissions
можно вызывать только в SQL Server и База данных SQL Azure, и он возвращает все разрешения независимо от того, поддерживаются ли они на текущей платформе. Большинство разрешений применяются ко всем платформам, но некоторые из них — только к определенным. Например, разрешения на уровне сервера нельзя предоставить в База данных SQL. Сведения о том, какие платформы поддерживают каждое разрешение, см. в разделе "Разрешения" (ядро СУБД).
Соглашения о синтаксисе Transact-SQL
Синтаксис
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
Аргументы
[ DEFAULT | NULL ]
При вызове с параметром DEFAULT (без кавычки) функция вернет полный список встроенных разрешений.
ЗНАЧЕНИЕ NULL эквивалентно DEFAULT.
empty_string
Эквивалентен DEFAULT.
"<securable_class>"
При вызове с именем одного защищаемого класса возвращаются все разрешения, sys.fn_builtin_permissions
применяемые к классу. '<securable_class>'
— строковый литерал типа nvarchar(60), требующий кавычек.
Возвращаемые таблицы
Имя столбца | Тип данных | Параметры сортировки | 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 | ALTER ANY DATABASE EVENT SESSION Область применения: SQL Server 2014 (12.x) и более поздних версий. |
DATABASE |
AAES | ALTER ANY EVENT SESSION | СЕРВЕР |
AAMK | ALTER ANY MASK Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
ADBO | ADMINISTER BULK OPERATIONS | СЕРВЕР |
AEDS | ALTER ANY EXTERNAL DATA SOURCE Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
AEFF | ALTER ANY EXTERNAL FILE FORMAT Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
AL | ИЗМЕНИТЬ | APPLICATION ROLE |
AL | ИЗМЕНИТЬ | ASSEMBLY |
AL | ИЗМЕНИТЬ Применимо: SQL Server 2012 (11.x) и более поздних версий. |
AVAILABILITY GROUP |
AL | ИЗМЕНИТЬ | ASYMMETRIC KEY |
AL | ИЗМЕНИТЬ | СЕРТИФИКАТ |
AL | ИЗМЕНИТЬ | CONTRACT |
AL | ИЗМЕНИТЬ | DATABASE |
AL | ИЗМЕНИТЬ Область применения: SQL Server 2017 (14.x) и более поздних версий и База данных SQL Azure. |
DATABASE SCOPED CREDENTIAL |
AL | ИЗМЕНИТЬ | КОНЕЧНАЯ ТОЧКА |
AL | ИЗМЕНИТЬ | FULLTEXT CATALOG |
AL | ИЗМЕНИТЬ | FULLTEXT STOPLIST |
AL | ИЗМЕНИТЬ | ВХОД |
AL | ИЗМЕНИТЬ | MESSAGE TYPE |
AL | ИЗМЕНИТЬ | OBJECT |
AL | ИЗМЕНИТЬ | REMOTE SERVICE BINDING |
AL | ИЗМЕНИТЬ | РОЛЬ |
AL | ИЗМЕНИТЬ | ROUTE |
AL | ИЗМЕНИТЬ | СХЕМА |
AL | ИЗМЕНИТЬ | SEARCH PROPERTY LIST |
AL | ИЗМЕНИТЬ Применимо: SQL Server 2012 (11.x) и более поздних версий. |
РОЛЬ СЕРВЕРА |
AL | ИЗМЕНИТЬ | СЛУЖБА |
AL | ИЗМЕНИТЬ | SYMMETRIC KEY |
AL | ИЗМЕНИТЬ | Пользователь |
AL | ИЗМЕНИТЬ | XML SCHEMA COLLECTION |
ALAA | ALTER ANY SERVER AUDIT | СЕРВЕР |
ALAG | ALTER ANY AVAILABILITY GROUP Применимо: SQL Server 2012 (11.x) и более поздних версий. |
СЕРВЕР |
ALAK | ALTER ANY ASYMMETRIC KEY | DATABASE |
ALAR | ALTER ANY APPLICATION ROLE | DATABASE |
ALAS | ALTER ANY ASSEMBLY | DATABASE |
ALCD | ALTER ANY CREDENTIAL | СЕРВЕР |
ALCF | ALTER ANY CERTIFICATE | DATABASE |
ALCK | ALTER ANY COLUMN ENCRYPTION KEY Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
ALCM | ALTER ANY COLUMN MASTER KEY Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
ALCO | ALTER ANY CONNECTION | СЕРВЕР |
ALDA | ALTER ANY DATABASE AUDIT | DATABASE |
ALDB | ALTER ANY DATABASE | СЕРВЕР |
ALDC | ALTER ANY DATABASE SCOPED CONFIGURATION Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
ALDS | ALTER ANY DATASPACE | DATABASE |
ALED | ALTER ANY DATABASE EVENT NOTIFICATION | DATABASE |
ALES | ALTER ANY EVENT NOTIFICATION | СЕРВЕР |
ALFT | ALTER ANY FULLTEXT CATALOG | DATABASE |
ALHE | ALTER ANY ENDPOINT | СЕРВЕР |
ALLG | ALTER ANY LOGIN | СЕРВЕР |
ALLS | ALTER ANY LINKED SERVER | СЕРВЕР |
ALMT | ALTER ANY MESSAGE TYPE | DATABASE |
ALRL | ALTER ANY ROLE | DATABASE |
ALRS | ALTER RESOURCES | СЕРВЕР |
ALRT | ALTER ANY ROUTE | DATABASE |
ALSB | ALTER ANY REMOTE SERVICE BINDING | DATABASE |
ALSC | ALTER ANY CONTRACT | DATABASE |
ALSK | ALTER ANY SYMMETRIC KEY | DATABASE |
ALSM | ALTER ANY SCHEMA | DATABASE |
ALSP | ALTER ANY SECURITY POLICY Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
ALSR | ALTER ANY SERVER ROLE Применимо: SQL Server 2012 (11.x) и более поздних версий. |
СЕРВЕР |
ALSS | ALTER SERVER STATE | СЕРВЕР |
ALST | ALTER SETTINGS | СЕРВЕР |
ALSV | ALTER ANY SERVICE | DATABASE |
ALTG | ALTER ANY DATABASE DDL TRIGGER | DATABASE |
ALTR | ALTER TRACE | СЕРВЕР |
ALUS | ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ | DATABASE |
АУТЕНТИФИКАЦИЯ | AUTHENTICATE | DATABASE |
АУТЕНТИФИКАЦИЯ | AUTHENTICATE SERVER | СЕРВЕР |
BADB | BACKUP DATABASE | DATABASE |
BALO | BACKUP LOG | DATABASE |
CADB | CONNECT ANY DATABASE Область применения: SQL Server 2014 (12.x) и более поздних версий. |
СЕРВЕР |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | APPLICATION ROLE |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | ASSEMBLY |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | ASYMMETRIC KEY |
CL | ПРОИЗВОДИТЕЛЬНОСТИ Применимо: SQL Server 2012 (11.x) и более поздних версий. |
AVAILABILITY GROUP |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | СЕРТИФИКАТ |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | CONTRACT |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | DATABASE |
CL | ПРОИЗВОДИТЕЛЬНОСТИ Область применения: SQL Server 2017 (14.x) и более поздних версий и База данных SQL Azure. |
DATABASE SCOPED CREDENTIAL |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | КОНЕЧНАЯ ТОЧКА |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | FULLTEXT CATALOG |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | FULLTEXT STOPLIST |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | ВХОД |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | MESSAGE TYPE |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | OBJECT |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | REMOTE SERVICE BINDING |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | РОЛЬ |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | ROUTE |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | СХЕМА |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | SEARCH PROPERTY LIST |
CL | CONTROL SERVER | СЕРВЕР |
CL | ПРОИЗВОДИТЕЛЬНОСТИ Применимо: SQL Server 2012 (11.x) и более поздних версий. |
РОЛЬ СЕРВЕРА |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | СЛУЖБА |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | SYMMETRIC KEY |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | ТИП |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | Пользователь |
CL | ПРОИЗВОДИТЕЛЬНОСТИ | XML SCHEMA COLLECTION |
CO | ПОДКЛЮЧЕНИЕ | DATABASE |
CO | ПОДКЛЮЧЕНИЕ | КОНЕЧНАЯ ТОЧКА |
CORP | CONNECT REPLICATION | DATABASE |
COSQ | CONNECT SQL | СЕРВЕР |
CP | CHECKPOINT | DATABASE |
CRAC | CREATE AVAILABILITY GROUP Применимо: SQL Server 2012 (11.x) и более поздних версий. |
СЕРВЕР |
CRAG | CREATE AGGREGATE | DATABASE |
CRAK | CREATE ASYMMETRIC KEY | DATABASE |
CRAS | CREATE ASSEMBLY | DATABASE |
CRCF | CREATE CERTIFICATE | DATABASE |
CRDB | CREATE ANY DATABASE | СЕРВЕР |
CRDB | СОЗДАТЬ БАЗУ ДАННЫХ | DATABASE |
CRDE | CREATE DDL EVENT NOTIFICATION | СЕРВЕР |
CRDF | CREATE DEFAULT | DATABASE |
CRED | CREATE DATABASE DDL EVENT NOTIFICATION | DATABASE |
CRFN | CREATE FUNCTION | DATABASE |
CRFT | CREATE FULLTEXT CATALOG | DATABASE |
CRHE | CREATE ENDPOINT … | СЕРВЕР |
CRMT | CREATE MESSAGE TYPE | DATABASE |
CRPR | СОЗДАТЬ ПРОЦЕДУРУ | 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 | СХЕМА |
CRSR | CREATE SERVER ROLE Применимо: SQL Server 2012 (11.x) и более поздних версий. |
СЕРВЕР |
CRSV | CREATE SERVICE | DATABASE |
CRTB | СОЗДАТЬ ТАБЛИЦУ | DATABASE |
CRTE | CREATE TRACE EVENT NOTIFICATION | СЕРВЕР |
CRTY | СОЗДАТЬ ТИП | DATABASE |
CRVW | СОЗДАТЬ ПРЕДСТАВЛЕНИЕ | DATABASE |
CRXS | CREATE XML SCHEMA COLLECTION | DATABASE |
DABO | ADMINISTER DATABASE BULK OPERATIONS Область применения: База данных SQL. |
DATABASE |
DL | DELETE | DATABASE |
DL | DELETE | OBJECT |
DL | DELETE | СХЕМА |
EAES | EXECUTE ANY EXTERNAL SCRIPT Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
EX | ВЫПОЛНИТЬ | DATABASE |
EX | ВЫПОЛНИТЬ | OBJECT |
EX | ВЫПОЛНИТЬ | СХЕМА |
EX | ВЫПОЛНИТЬ | ТИП |
EX | ВЫПОЛНИТЬ | XML SCHEMA COLLECTION |
IAL | IMPERSONATE ANY LOGIN Область применения: SQL Server 2014 (12.x) и более поздних версий. |
СЕРВЕР |
"IM" (Обмен мгновенными сообщениями); | IMPERSONATE | ВХОД |
"IM" (Обмен мгновенными сообщениями); | IMPERSONATE | Пользователь |
В | ВСТАВИТЬ | DATABASE |
В | ВСТАВИТЬ | OBJECT |
В | ВСТАВИТЬ | СХЕМА |
KIDC | KILL DATABASE CONNECTION Область применения: База данных SQL Azure. |
DATABASE |
Ролевой центр | ПРИЕМ | OBJECT |
RF | ССЫЛКИ | ASSEMBLY |
RF | ССЫЛКИ | ASYMMETRIC KEY |
RF | ССЫЛКИ | СЕРТИФИКАТ |
RF | ССЫЛКИ | CONTRACT |
RF | ССЫЛКИ | DATABASE |
RF | ССЫЛКИ Область применения: SQL Server 2017 (14.x) и более поздних версий и База данных SQL Azure. |
DATABASE SCOPED CREDENTIAL |
RF | ССЫЛКИ | FULLTEXT CATALOG |
RF | ССЫЛКИ | FULLTEXT STOPLIST |
RF | ССЫЛКИ | SEARCH PROPERTY LIST |
RF | ССЫЛКИ | MESSAGE TYPE |
RF | ССЫЛКИ | OBJECT |
RF | ССЫЛКИ | СХЕМА |
RF | ССЫЛКИ | SYMMETRIC KEY |
RF | ССЫЛКИ | ТИП |
RF | ССЫЛКИ | XML SCHEMA COLLECTION |
SHDN | SHUTDOWN | СЕРВЕР |
SL | SELECT | DATABASE |
SL | SELECT | OBJECT |
SL | SELECT | СХЕМА |
SN | SEND | СЛУЖБА |
SPLN | SHOWPLAN | DATABASE |
SUQN | SUBSCRIBE QUERY NOTIFICATIONS | DATABASE |
SUS | SELECT ALL USER SECURABLES Область применения: SQL Server 2014 (12.x) и более поздних версий. |
СЕРВЕР |
TO | TAKE OWNERSHIP | ASSEMBLY |
TO | TAKE OWNERSHIP | ASYMMETRIC KEY |
TO | TAKE OWNERSHIP Применимо: SQL Server 2012 (11.x) и более поздних версий. |
AVAILABILITY GROUP |
TO | TAKE OWNERSHIP | СЕРТИФИКАТ |
TO | TAKE OWNERSHIP | CONTRACT |
TO | TAKE OWNERSHIP | DATABASE |
TO | TAKE OWNERSHIP Область применения: SQL Server 2017 (14.x) и более поздних версий и База данных SQL Azure. |
DATABASE SCOPED CREDENTIAL |
TO | TAKE OWNERSHIP | КОНЕЧНАЯ ТОЧКА |
TO | TAKE OWNERSHIP | FULLTEXT CATALOG |
TO | TAKE OWNERSHIP | FULLTEXT STOPLIST |
TO | TAKE OWNERSHIP | SEARCH PROPERTY LIST |
TO | TAKE OWNERSHIP | MESSAGE TYPE |
TO | TAKE OWNERSHIP | OBJECT |
TO | TAKE OWNERSHIP | REMOTE SERVICE BINDING |
TO | TAKE OWNERSHIP | РОЛЬ |
TO | TAKE OWNERSHIP | ROUTE |
TO | TAKE OWNERSHIP | СХЕМА |
TO | TAKE OWNERSHIP Применимо: SQL Server 2012 (11.x) и более поздних версий. |
РОЛЬ СЕРВЕРА |
TO | TAKE OWNERSHIP | СЛУЖБА |
TO | TAKE OWNERSHIP | SYMMETRIC KEY |
TO | TAKE OWNERSHIP | ТИП |
TO | TAKE OWNERSHIP | XML SCHEMA COLLECTION |
UMSK | UNMASK Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
UP | UPDATE | DATABASE |
UP | UPDATE | OBJECT |
UP | UPDATE | СХЕМА |
VW | VIEW DEFINITION | APPLICATION ROLE |
VW | VIEW DEFINITION | ASSEMBLY |
VW | VIEW DEFINITION | ASYMMETRIC KEY |
VW | VIEW DEFINITION Применимо: SQL Server 2012 (11.x) и более поздних версий. |
AVAILABILITY GROUP |
VW | VIEW DEFINITION | СЕРТИФИКАТ |
VW | VIEW DEFINITION | CONTRACT |
VW | VIEW DEFINITION | DATABASE |
VW | VIEW DEFINITION Область применения: SQL Server 2017 (14.x) и более поздних версий и База данных SQL Azure. |
DATABASE SCOPED CREDENTIAL |
VW | VIEW DEFINITION | КОНЕЧНАЯ ТОЧКА |
VW | VIEW DEFINITION | FULLTEXT CATALOG |
VW | VIEW DEFINITION | FULLTEXT STOPLIST |
VW | VIEW DEFINITION | ВХОД |
VW | VIEW DEFINITION | MESSAGE TYPE |
VW | VIEW DEFINITION | OBJECT |
VW | VIEW DEFINITION | REMOTE SERVICE BINDING |
VW | VIEW DEFINITION | РОЛЬ |
VW | VIEW DEFINITION | ROUTE |
VW | VIEW DEFINITION | СХЕМА |
VW | VIEW DEFINITION | SEARCH PROPERTY LIST |
VW | VIEW DEFINITION Применимо: SQL Server 2012 (11.x) и более поздних версий. |
РОЛЬ СЕРВЕРА |
VW | VIEW DEFINITION | СЛУЖБА |
VW | VIEW DEFINITION | SYMMETRIC KEY |
VW | VIEW DEFINITION | ТИП |
VW | VIEW DEFINITION | Пользователь |
VW | VIEW DEFINITION | XML SCHEMA COLLECTION |
VWAD | VIEW ANY DEFINITION | СЕРВЕР |
VWCK | VIEW ANY COLUMN ENCRYPTION KEY DEFINITION Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
VWCM | VIEW ANY COLUMN MASTER KEY DEFINITION Область применения: SQL Server 2016 (13.x) и более поздних версий. |
DATABASE |
VWCT | VIEW CHANGE TRACKING | OBJECT |
VWCT | VIEW CHANGE TRACKING | СХЕМА |
VWDB | VIEW ANY DATABASE | СЕРВЕР |
VWDS | ПРОСМОТР СОСТОЯНИЯ БАЗЫ ДАННЫХ | DATABASE |
VWSS | VIEW SERVER STATE | СЕРВЕР |
XA | EXTERNAL ACCESS ASSEMBLY | СЕРВЕР |
XU | UNSAFE ASSEMBLY | СЕРВЕР |
Замечания
Функция с табличным значением sys.fn_builtin_permissions
выдает копию стандартной иерархии разрешений. Такая иерархия включает в себя покрытие разрешений. Результирующий DEFAULT
набор описывает направленный ациклический граф иерархии разрешений, из которого корень является (класс = SERVER
, разрешение = CONTROL SERVER
).
Функция sys.fn_builtin_permissions
не принимает связанные параметры.
Функция sys.fn_builtin_permissions
возвращает пустой набор, если вызвана с недопустимым именем класса.
На следующем рисунке показаны разрешения и их связи друг с другом. Некоторые из разрешений более высокого уровня (например, CONTROL SERVER
) указаны несколько раз. Рисунок в этой статье слишком мал для чтения. Вы можете скачать полноразмерный ядро СУБД плакат разрешений в формате PDF.
Разрешения
Требуется членство в роли public.
Примеры
А. Список всех встроенных разрешений
Используйте 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';