sys.fn_builtin_permissions (Transact-SQL)
Функция возвращает описание иерархии встроенных разрешений сервера.
Синтаксис
sys.fn_builtin_permissions ( [ DEFAULT | NULL ]
| empty_string | '<securable_class>' } )
<securable_class> ::=
APPLICATION ROLE | ASSEMBLY | ASYMMETRIC KEY
| CERTIFICATE | CONTRACT | DATABASE | ENDPOINT | FULLTEXT CATALOG
| LOGIN | MESSAGE TYPE | OBJECT | REMOTE SERVICE BINDING | ROLE
| ROUTE | SCHEMA | SERVER | SERVICE | SYMMETRIC KEY | TYPE
| USER | XML SCHEMA COLLECTION
Аргументы
DEFAULT
Если функция вызывается с аргументом DEFAULT, возвращается полный список встроенных разрешений.NULL
Эквивалентен DEFAULT.empty_string
Эквивалентен DEFAULT.'<securable_class>'
Если функция sys.fn_builtin_permissions вызывается именем одного из защищаемых классов, возвращаются все разрешения, относящиеся к данному классу. Аргумент <securable_class> является строковым литералом, и его необходимо заключать в кавычки. nvarchar(60)
Возвращаемые таблицы
Имя столбца |
Тип данных |
Параметры сортировки |
Описание |
---|---|---|---|
class_desc |
nvarchar(60) |
Параметры сортировки сервера |
Описание защищаемого класса. |
permission_name |
sysname |
Параметры сортировки сервера |
Имя разрешения. |
type |
char(4) |
Параметры сортировки сервера |
Код компактных типов разрешений. См. таблицу далее. |
covering_permission_name |
sysname |
Параметры сортировки сервера |
Если значение не NULL, то это имя разрешения на данный класс, который содержит в себе другие разрешения данного класса. |
parent_class_desc |
nvarchar(60) |
Параметры сортировки сервера |
Если значение не NULL, то это имя родительского класса, который содержит текущий класс. |
parent_covering_permission_name |
sysname |
Параметры сортировки сервера |
Если значение не NULL, то это имя разрешения на родительский класс, который содержит в себе другие разрешения класса. |
Компактные типы разрешений
Тип разрешения |
Имя разрешения |
Применяется к защищаемому объекту или классу |
---|---|---|
ADBO |
ADMINISTER BULK OPERATIONS |
SERVER |
AL |
ALTER |
APPLICATION ROLE |
AL |
ALTER |
ASSEMBLY |
AL |
ALTER |
ASYMMETRIC KEY |
AL |
ALTER |
CERTIFICATE |
AL |
ALTER |
CONTRACT |
AL |
ALTER |
DATABASE |
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 |
SERVICE |
AL |
ALTER |
SYMMETRIC KEY |
AL |
ALTER |
USER |
AL |
ALTER |
XML SCHEMA COLLECTION |
ALAA |
ALTER ANY SERVER AUDIT |
SERVER |
ALAK |
ALTER ANY ASYMMETRIC KEY |
DATABASE |
ALAR |
ALTER ANY APPLICATION ROLE |
DATABASE |
ALAS |
ALTER ANY ASSEMBLY |
DATABASE |
ALCD |
ALTER ANY CREDENTIAL |
SERVER |
ALCF |
ALTER ANY CERTIFICATE |
DATABASE |
ALCO |
ALTER ANY CONNECTION |
SERVER |
ALDA |
ALTER ANY DATABASE AUDIT |
DATABASE |
ALDB |
ALTER ANY DATABASE |
SERVER |
ALDS |
ALTER ANY DATASPACE |
DATABASE |
ALED |
ALTER ANY DATABASE EVENT NOTIFICATION |
DATABASE |
ALES |
ALTER ANY EVENT NOTIFICATION |
SERVER |
ALFT |
ALTER ANY FULLTEXT CATALOG |
DATABASE |
ALHE |
ALTER ANY ENDPOINT |
SERVER |
ALLG |
ALTER ANY LOGIN |
SERVER |
ALLS |
ALTER ANY LINKED SERVER |
SERVER |
ALMT |
ALTER ANY MESSAGE TYPE |
DATABASE |
ALRL |
ALTER ANY ROLE |
DATABASE |
ALRS |
ALTER RESOURCES |
SERVER |
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 |
ALSS |
ALTER SERVER STATE |
SERVER |
ALST |
ALTER SETTINGS |
SERVER |
ALSV |
ALTER ANY SERVICE |
DATABASE |
ALTG |
ALTER ANY DATABASE DDL TRIGGER |
DATABASE |
ALTR |
ALTER TRACE |
SERVER |
ALUS |
ALTER ANY USER |
DATABASE |
AUTH |
AUTHENTICATE |
DATABASE |
AUTH |
AUTHENTICATE SERVER |
SERVER |
BADB |
BACKUP DATABASE |
DATABASE |
BALO |
BACKUP LOG |
DATABASE |
CL |
CONTROL |
APPLICATION ROLE |
CL |
CONTROL |
ASSEMBLY |
CL |
CONTROL |
ASYMMETRIC KEY |
CL |
CONTROL |
CERTIFICATE |
CL |
CONTROL |
CONTRACT |
CL |
CONTROL |
DATABASE |
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 |
SERVICE |
CL |
CONTROL |
SYMMETRIC KEY |
CL |
CONTROL |
TYPE |
CL |
CONTROL |
USER |
CL |
CONTROL |
XML SCHEMA COLLECTION |
CL |
CONTROL SERVER |
SERVER |
CO |
CONNECT |
DATABASE |
CO |
CONNECT |
ENDPOINT |
CORP |
CONNECT REPLICATION |
DATABASE |
COSQ |
CONNECT SQL |
SERVER |
CP |
CHECKPOINT |
DATABASE |
CRAG |
CREATE AGGREGATE |
DATABASE |
CRAK |
CREATE ASYMMETRIC KEY |
DATABASE |
CRAS |
CREATE ASSEMBLY |
DATABASE |
CRCF |
CREATE CERTIFICATE |
DATABASE |
CRDB |
CREATE ANY DATABASE |
SERVER |
CRDB |
CREATE DATABASE |
DATABASE |
CRDE |
CREATE 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 |
CRSV |
CREATE SERVICE |
DATABASE |
CRTB |
CREATE TABLE |
DATABASE |
CRTE |
CREATE TRACE EVENT NOTIFICATION |
SERVER |
CRTY |
CREATE TYPE |
DATABASE |
CRVW |
CREATE VIEW |
DATABASE |
CRXS |
CREATE XML SCHEMA COLLECTION |
DATABASE |
DL |
DELETE |
DATABASE |
DL |
DELETE |
OBJECT |
DL |
DELETE |
SCHEMA |
EX |
EXECUTE |
DATABASE |
EX |
EXECUTE |
OBJECT |
EX |
EXECUTE |
SCHEMA |
EX |
EXECUTE |
TYPE |
EX |
EXECUTE |
XML SCHEMA COLLECTION |
IM |
IMPERSONATE |
LOGIN |
IM |
IMPERSONATE |
USER |
IN |
INSERT |
DATABASE |
IN |
INSERT |
OBJECT |
IN |
INSERT |
SCHEMA |
RC |
RECEIVE |
OBJECT |
RF |
REFERENCES |
ASSEMBLY |
RF |
REFERENCES |
ASYMMETRIC KEY |
RF |
REFERENCES |
CERTIFICATE |
RF |
REFERENCES |
CONTRACT |
RF |
REFERENCES |
DATABASE |
RF |
REFERENCES |
FULLTEXT CATALOG |
RF |
REFERENCES |
FULLTEXT STOPLIST |
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 |
SUBSCRIBE QUERY NOTIFICATIONS |
DATABASE |
TO |
TAKE OWNERSHIP |
ASSEMBLY |
TO |
TAKE OWNERSHIP |
ASYMMETRIC KEY |
TO |
TAKE OWNERSHIP |
CERTIFICATE |
TO |
TAKE OWNERSHIP |
CONTRACT |
TO |
TAKE OWNERSHIP |
DATABASE |
TO |
TAKE OWNERSHIP |
ENDPOINT |
TO |
TAKE OWNERSHIP |
FULLTEXT CATALOG |
TO |
TAKE OWNERSHIP |
FULLTEXT STOPLIST |
TO |
TAKE OWNERSHIP |
MESSAGE TYPE |
TO |
TAKE OWNERSHIP |
OBJECT |
TO |
TAKE OWNERSHIP |
REMOTE SERVICE BINDING |
TO |
TAKE OWNERSHIP |
ROLE |
TO |
TAKE OWNERSHIP |
ROUTE |
TO |
TAKE OWNERSHIP |
SCHEMA |
TO |
TAKE OWNERSHIP |
SERVICE |
TO |
TAKE OWNERSHIP |
SYMMETRIC KEY |
TO |
TAKE OWNERSHIP |
TYPE |
TO |
TAKE OWNERSHIP |
XML SCHEMA COLLECTION |
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 |
CERTIFICATE |
VW |
VIEW DEFINITION |
CONTRACT |
VW |
VIEW DEFINITION |
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 |
REMOTE SERVICE BINDING |
VW |
VIEW DEFINITION |
ROLE |
VW |
VIEW DEFINITION |
ROUTE |
VW |
VIEW DEFINITION |
SCHEMA |
VW |
VIEW DEFINITION |
SERVICE |
VW |
VIEW DEFINITION |
SYMMETRIC KEY |
VW |
VIEW DEFINITION |
TYPE |
VW |
VIEW DEFINITION |
USER |
VW |
VIEW DEFINITION |
XML SCHEMA COLLECTION |
VWCT |
VIEW CHANGE TRACKING. |
OBJECT |
VWCT |
VIEW CHANGE TRACKING. |
SCHEMA |
VWAD |
VIEW ANY DEFINITION |
SERVER |
VWDB |
VIEW ANY DATABASE |
SERVER |
VWDS |
VIEW DATABASE STATE |
DATABASE |
VWSS |
VIEW SERVER STATE |
SERVER |
XA |
EXTERNAL ACCESS ASSEMBLY |
SERVER |
XU |
UNSAFE ASSEMBLY |
SERVER |
Замечания
Функция sys.fn_builtin_permissions является возвращающей табличное значение функцией и выдает копию стандартной иерархии разрешений. Такая иерархия включает в себя покрытие разрешений. Результирующий набор DEFAULT описывает направленный ациклический график иерархии разрешений с корнем (класс = SERVER, разрешение = CONTROL SERVER).
Функция sys.fn_builtin_permissions не принимает связанные параметры.
Функция sys.fn_builtin_permissions возвращает пустой набор, если вызвана с недопустимым именем класса.
Разрешения
Требуется членство в роли public.
Примеры
A. Листинг всех встроенных разрешений
SELECT * FROM sys.fn_builtin_permissions(DEFAULT)
Б. Листинг разрешений для симметричного ключа
SELECT * FROM sys.fn_builtin_permissions(N'SYMMETRIC KEY')
В. Листинг классов с разрешением SELECT
SELECT * FROM sys.fn_builtin_permissions(DEFAULT)
WHERE permission_name = 'SELECT';