sys.fn_builtin_permissions (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Retourne une description de la hiérarchie des autorisations intégrées du serveur. sys.fn_builtin_permissionsne peut être appelé que sur SQL Server et Azure SQL Base de données, et elle retourne toutes les autorisations, qu’elles soient prises en charge ou non sur la plateforme actuelle. La plupart des autorisations s’appliquent à toutes les plates-formes, mais ce n’est pas le cas pour certaines d’entre elles. Par exemple, les autorisations au niveau du serveur ne peuvent pas être accordées sur SQL Database. Pour plus d’informations sur les plateformes qui prennent en charge chaque autorisation, consultez Autorisations (moteur de base de données).

Conventions de la syntaxe Transact-SQL

Syntaxe

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 ]

Lorsqu’elle est appelée avec l’option DEFAULT (sans guillemets), la fonction retourne une liste complète des autorisations intégrées.

NULL équivaut à DEFAULT.

empty_string

Équivalent à DEFAULT.

’<securable_class>’

En cas d’appel avec le nom d’une classe sécurisable, sys.fn_builtin_permissions retourne toutes les autorisations qui s’appliquent à la classe . '<securable_class>' est un littéral de chaîne de type nvarchar(60) qui nécessite des guillemets.

Tables retournées

Nom de la colonne Type de données Classement Description
class_desc nvarchar(60) Classement du serveur. Description de la classe sécurisable.
permission_name nvarchar(60) Classement du serveur. Nom de l’autorisation.
type varchar(4) Classement du serveur. Code du type d'autorisation compacte. Consultez le tableau qui suit.
covering_permission_name nvarchar(60) Classement du serveur. S'il n'est pas NULL, il s'agit du nom de l'autorisation de cette classe, qui implique les autres autorisations de la classe.
parent_class_desc nvarchar(60) Classement du serveur. S'il n'est pas NULL, il s'agit du nom de la classe parente qui contient la classe actuelle.
parent_covering_permission_name nvarchar(60) Classement du serveur. S'il n'est pas NULL, il s'agit du nom de l'autorisation de la classe parente, qui implique toutes les autres autorisations de cette classe.

Types d'autorisations

Type d'autorisation Nom de l'autorisation S'applique à un élément sécurisable ou une classe
AADS ALTER ANY DATABASE EVENT SESSION

S’applique à : SQL Server 2014 (12.x) et versions ultérieures.
DATABASE
AAES ALTER ANY EVENT SESSION SERVER
AAMK ALTER ANY MASK

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
DATABASE
ADBO ADMINISTER BULK OPERATIONS SERVER
AEDS ALTER ANY EXTERNAL DATA SOURCE

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
DATABASE
AEFF ALTER ANY EXTERNAL FILE FORMAT

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
DATABASE
AL ALTER APPLICATION ROLE
AL ALTER ASSEMBLY
AL ALTER

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
AVAILABILITY GROUP
AL ALTER ASYMMETRIC KEY
AL ALTER CERTIFICATE
AL ALTER CONTRACT
AL ALTER DATABASE
AL ALTER

S’applique à : SQL Server 2017 (14.x) et versions ultérieures, et Azure SQL Database.
DATABASE SCOPED CREDENTIAL
AL ALTER ENDPOINT
AL ALTER FULLTEXT CATALOG
AL ALTER FULLTEXT STOPLIST
AL ALTER Connexion
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

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
SERVER ROLE
AL ALTER SERVICE
AL ALTER SYMMETRIC KEY
AL ALTER Utilisateur
AL ALTER XML SCHEMA COLLECTION
ALAA ALTER ANY SERVER AUDIT SERVER
ALAG ALTER ANY AVAILABILITY GROUP

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
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
ALCK ALTER ANY COLUMN ENCRYPTION KEY

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
DATABASE
ALCM ALTER ANY COLUMN MASTER KEY

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
DATABASE
ALCO ALTER ANY CONNECTION SERVER
ALDA ALTER ANY DATABASE AUDIT DATABASE
ALDB ALTER ANY DATABASE SERVER
ALDC ALTER ANY DATABASE SCOPED CONFIGURATION

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
DATABASE
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
ALSP MODIFIER UNE STRATÉGIE DE SÉCURITÉ

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
DATABASE
ALSR ALTER ANY SERVER ROLE

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
SERVER
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
CADB CONNECT ANY DATABASE

S’applique à : SQL Server 2014 (12.x) et versions ultérieures.
SERVER
CL CONTROL APPLICATION ROLE
CL CONTROL ASSEMBLY
CL CONTROL ASYMMETRIC KEY
CL CONTROL

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
AVAILABILITY GROUP
CL CONTROL CERTIFICATE
CL CONTROL CONTRACT
CL CONTROL DATABASE
CL CONTROL

S’applique à : SQL Server 2017 (14.x) et versions ultérieures, et Azure SQL Database.
DATABASE SCOPED CREDENTIAL
CL CONTROL ENDPOINT
CL CONTROL FULLTEXT CATALOG
CL CONTROL FULLTEXT STOPLIST
CL CONTROL Connexion
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 CONTROL SERVER SERVER
CL CONTROL

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
SERVER ROLE
CL CONTROL SERVICE
CL CONTROL SYMMETRIC KEY
CL CONTROL TYPE
CL CONTROL Utilisateur
CL CONTROL XML SCHEMA COLLECTION
CO CONNECT DATABASE
CO CONNECT ENDPOINT
CORP CONNECT REPLICATION DATABASE
COSQ CONNECT SQL SERVER
CP CHECKPOINT DATABASE
CRAC Créer un groupe de disponibilité

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
SERVER
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
CRSO CREATE SEQUENCE SCHEMA
CRSR CREATE SERVER ROLE

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
SERVER
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
DABO ADMINISTER DATABASE BULK OPERATIONS

S’applique à : SQL Database.
DATABASE
DL Suppression DATABASE
DL Suppression OBJECT
DL Suppression SCHEMA
EAES EXECUTE ANY EXTERNAL SCRIPT

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
DATABASE
EX Exécutez DATABASE
EX Exécutez OBJECT
EX Exécutez SCHEMA
EX Exécutez TYPE
EX Exécutez XML SCHEMA COLLECTION
IAL IMPERSONATE ANY LOGIN

S’applique à : SQL Server 2014 (12.x) et versions ultérieures.
SERVER
IM IMPERSONATE Connexion
IM IMPERSONATE Utilisateur
IN INSERT DATABASE
IN INSERT OBJECT
IN INSERT SCHEMA
KIDC KILL DATABASE CONNECTION

S'applique à: 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

S’applique à : SQL Server 2017 (14.x) et versions ultérieures, et Azure SQL Database.
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 SUBSCRIBE QUERY NOTIFICATIONS DATABASE
SUS SELECT ALL USER SECURABLES

S’applique à : SQL Server 2014 (12.x) et versions ultérieures.
SERVER
TO TAKE OWNERSHIP ASSEMBLY
TO TAKE OWNERSHIP ASYMMETRIC KEY
TO TAKE OWNERSHIP

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
AVAILABILITY GROUP
TO TAKE OWNERSHIP CERTIFICATE
TO TAKE OWNERSHIP CONTRACT
TO TAKE OWNERSHIP DATABASE
TO TAKE OWNERSHIP

S’applique à : SQL Server 2017 (14.x) et versions ultérieures, et Azure SQL Database.
DATABASE SCOPED CREDENTIAL
TO TAKE OWNERSHIP ENDPOINT
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 ROLE
TO TAKE OWNERSHIP ROUTE
TO TAKE OWNERSHIP SCHEMA
TO TAKE OWNERSHIP

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
SERVER ROLE
TO TAKE OWNERSHIP SERVICE
TO TAKE OWNERSHIP SYMMETRIC KEY
TO TAKE OWNERSHIP TYPE
TO TAKE OWNERSHIP XML SCHEMA COLLECTION
UMSK UNMASK

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
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

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
AVAILABILITY GROUP
VW VIEW DEFINITION CERTIFICATE
VW VIEW DEFINITION CONTRACT
VW VIEW DEFINITION DATABASE
VW VIEW DEFINITION

S’applique à : SQL Server 2017 (14.x) et versions ultérieures, et Azure SQL Database.
DATABASE SCOPED CREDENTIAL
VW VIEW DEFINITION ENDPOINT
VW VIEW DEFINITION FULLTEXT CATALOG
VW VIEW DEFINITION FULLTEXT STOPLIST
VW VIEW DEFINITION Connexion
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 SEARCH PROPERTY LIST
VW VIEW DEFINITION

S’applique à : SQL Server 2012 (11.x) et versions ultérieures.
SERVER ROLE
VW VIEW DEFINITION SERVICE
VW VIEW DEFINITION SYMMETRIC KEY
VW VIEW DEFINITION TYPE
VW VIEW DEFINITION Utilisateur
VW VIEW DEFINITION XML SCHEMA COLLECTION
VWAD VIEW ANY DEFINITION SERVER
VWCK VIEW ANY COLUMN ENCRYPTION KEY DEFINITION

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
DATABASE
VWCM VIEW ANY COLUMN MASTER KEY DEFINITION

S’applique à : SQL Server 2016 (13.x) et versions ultérieures.
DATABASE
VWCT VIEW CHANGE TRACKING OBJECT
VWCT VIEW CHANGE TRACKING SCHEMA
VWDB VIEW ANY DATABASE SERVER
VWDS VIEW DATABASE STATE DATABASE
VWSS VIEW SERVER STATE SERVER
XA EXTERNAL ACCESS ASSEMBLY SERVER
XU UNSAFE ASSEMBLY SERVER

Notes

sys.fn_builtin_permissions est une fonction table qui émet une copie de la hiérarchie d'autorisations prédéfinies. Cette hiérarchie inclut les autorisations d'accompagnement. Le DEFAULT jeu de résultats décrit un graphique dirigé et acyclique de la hiérarchie des autorisations, dont la racine est (classe = SERVER, permission = CONTROL SERVER).

sys.fn_builtin_permissions n'accepte pas de paramètres mis en corrélation.

sys.fn_builtin_permissions retournera un jeu vide s'il est appelé avec un nom de classe qui n'est pas valide.

L’image suivante montre les autorisations et leurs relations entre elles. Certaines des autorisations de niveau supérieur (telles que CONTROL SERVER) figurent plusieurs fois. Dans cet article, l’affiche est trop petite pour être lue correctement. Vous pouvez télécharger l’affiche d’autorisations du moteur de base de données de taille complète au format PDF.

Capture d’écran du PDF des autorisations du moteur de base de données.

Autorisations

Nécessite l'appartenance au rôle public.

Exemples

R. Répertorier toutes les autorisations intégrées

Utilisez DEFAULT ou une chaîne vide pour renvoyer toutes les autorisations.

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

B. Répertorier les autorisations qui peuvent être définies sur une clé symétrique

Spécifiez une classe pour retourner toutes les autorisations possibles pour cette classe.

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

C. Répertorier les classes sur lesquelles il existe une autorisation SELECT

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

Voir aussi