sys.fn_builtin_permissions (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLBase de datos SQL en Microsoft Fabric

Devuelve una descripción de la jerarquía de permisos integrados del servidor. sys.fn_builtin_permissions solo se puede llamar a en SQL Server y Azure SQL Database, y devuelve todos los permisos independientemente de si se admiten en la plataforma actual. La mayoría de los permisos se aplica a todas las plataformas, pero otros no. Por ejemplo, no se pueden conceder permisos de nivel de servidor en SQL Database. Para obtener información sobre qué plataformas admiten cada permiso, consulte Permisos (Motor de base de datos).

Convenciones de sintaxis de 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 ]

Cuando se llama con la DEFAULT opción (sin comillas), la función devolverá una lista completa de permisos incorporados.

NULL es equivalente a DEFAULT.

empty_string

Equivalente a DEFAULT.

"<securable_class>"

Cuando se llama con el nombre de una clase protegible, sys.fn_builtin_permissions devolverá todos los permisos que se aplican a la clase . '<securable_class>' es un literal de cadena de tipo nvarchar(60) que requiere comillas.

Vuelta a las tablas

Nombre de la columna Tipo de dato Collation Description
class_desc nvarchar(60) Intercalación del servidor Descripción de la clase protegible.
permission_name nvarchar(60) Intercalación del servidor Nombre de permiso.
type varchar(4) Intercalación del servidor Código de tipo de permiso compacto. Vea la tabla siguiente.
covering_permission_name nvarchar(60) Intercalación del servidor Si no es NULL, es el nombre del permiso en esta clase que implica los otros permisos en la clase.
parent_class_desc nvarchar(60) Intercalación del servidor S no es NULL, es el nombre de la clase principal que contiene la clase actual.
parent_covering_permission_name nvarchar(60) Intercalación del servidor Si no es NULL, es el nombre del permiso en la clase principal que implica los otros permisos en esa clase.

Tipos de permisos

Tipo de permiso Nombre del permiso Se aplica al elemento protegible o la clase
AADS ALTERA CUALQUIER DATABASEEVENT SESSION

Se aplica a: SQL Server 2014 (12.x) y versiones posteriores.
DATABASE
AAES ALTERAR CUALQUIER EVENT SESSION SERVER
AAMK ALTERAR CUALQUIER MÁSCARA

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
ADBO ADMINISTRACIÓN DE OPERACIONES MASIVAS SERVER
AEDS ALTERAR CUALQUIER EXTERNAL DATA SOURCE

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
AEFF ALTERAR CUALQUIER EXTERNAL FILE FORMAT

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
AL ALTER APPLICATION ROLE
AL ALTER ASSEMBLY
AL ALTER

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
AVAILABILITY GROUP
AL ALTER ASYMMETRIC KEY
AL ALTER CERTIFICATE
AL ALTER CONTRACT
AL ALTER DATABASE
AL ALTER

Se aplica a: SQL Server 2017 (14.x) y versiones posteriores, y Azure SQL Database.
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

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
SERVER ROLE
AL ALTER SERVICE
AL ALTER SYMMETRIC KEY
AL ALTER USER
AL ALTER XML SCHEMA COLLECTION
ALAA ALTERAR CUALQUIER SERVER AUDIT SERVER
ALAG ALTERAR CUALQUIER AVAILABILITY GROUP

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
SERVER
ALAK ALTERAR CUALQUIER ASYMMETRIC KEY DATABASE
ALAR ALTERAR CUALQUIER APPLICATION ROLE DATABASE
ALAS ALTERAR CUALQUIER ASSEMBLY DATABASE
ALCD ALTERAR CUALQUIER CREDENTIAL SERVER
ALCF ALTERAR CUALQUIER CERTIFICATE DATABASE
ALCK ALTERAR CUALQUIER COLUMN ENCRYPTION KEY

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
ALCM ALTERAR CUALQUIER COLUMN MASTER KEY

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
ALCO ALTERAR CUALQUIER CONEXIÓN SERVER
ALDA MODIFICAR CUALQUIER DATABASE AUDITORÍA DATABASE
ALDB ALTERAR CUALQUIER DATABASE SERVER
ALDC ALTERAR CUALQUIER DATABASE SCOPED CONFIGURATION

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
ALDS ALTERAR CUALQUIER ESPACIO DE DATOS DATABASE
ALED ALTERA CUALQUIER DATABASEEVENT NOTIFICATION DATABASE
ALES ALTERAR CUALQUIER EVENT NOTIFICATION SERVER
ALFT ALTERAR CUALQUIER FULLTEXT CATALOG DATABASE
ALHE ALTERAR CUALQUIER ENDPOINT SERVER
ALLG ALTERAR CUALQUIER LOGIN SERVER
ALLS ALTERAR CUALQUIER SERVIDOR VINCULADO SERVER
ALMT ALTERAR CUALQUIER MESSAGE TYPE DATABASE
ALRL ALTERAR CUALQUIER ROLE DATABASE
ALRS ALTERAR RECURSOS SERVER
ALRT ALTERAR CUALQUIER ROUTE DATABASE
ALSB ALTERAR CUALQUIER REMOTE SERVICE BINDING DATABASE
ALSC ALTERAR CUALQUIER CONTRACT DATABASE
ALSK ALTERAR CUALQUIER SYMMETRIC KEY DATABASE
ALSM ALTERAR CUALQUIER SCHEMA DATABASE
ALSP ALTERAR CUALQUIER SECURITY POLICY

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
ALSR ALTERAR CUALQUIER SERVER ROLE

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
SERVER
ALSS ALTERAR ESTADO DEL SERVIDOR SERVER
ALST ALTERAR AJUSTES SERVER
ALSV ALTERAR CUALQUIER SERVICE DATABASE
ALTG ALTERAR CUALQUIER DATABASE DDL TRIGGER DATABASE
ALTR ALTER TRACE SERVER
ALUS ALTERAR CUALQUIER USER DATABASE
AUTH AUTHENTICATE DATABASE
AUTH AUTENTICAR SERVIDOR SERVER
BADB BACKUP DATABASE DATABASE
BALO BACKUP LOG DATABASE
CADB CONECTAR CUALQUIERA DATABASE

Se aplica a: SQL Server 2014 (12.x) y versiones posteriores.
SERVER
CL CONTROL APPLICATION ROLE
CL CONTROL ASSEMBLY
CL CONTROL ASYMMETRIC KEY
CL CONTROL

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
AVAILABILITY GROUP
CL CONTROL CERTIFICATE
CL CONTROL CONTRACT
CL CONTROL DATABASE
CL CONTROL

Se aplica a: SQL Server 2017 (14.x) y versiones posteriores, y Azure SQL Database.
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 SERVIDOR DE CONTROL SERVER
CL CONTROL

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
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 REPLICACIÓN DE CONNECT DATABASE
COSQ Conectar a SQL SERVER
CP CHECKPOINT DATABASE
CRAC CREATE AVAILABILITY GROUP

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
SERVER
CRAG CREATE AGGREGATE DATABASE
CRAK CREATE ASYMMETRIC KEY DATABASE
CRAS CREATE ASSEMBLY DATABASE
CRCF CREATE CERTIFICATE DATABASE
CRDB CREA CUALQUIERA DATABASE SERVER
CRDB CREATE DATABASE DATABASE
CRDE CREAR 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

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
SERVER
CRSV CREATE SERVICE DATABASE
CRTB CREATE TABLE DATABASE
CRTE CREAR TRACE EVENT NOTIFICATION SERVER
CRTY CREATE TYPE DATABASE
CRVW CREATE VIEW DATABASE
CRXS CREATE XML SCHEMA COLLECTION DATABASE
DABO ADMINISTRACIÓN DATABASE DE OPERACIONES MASIVAS

Se aplica a: SQL Database.
DATABASE
DL DELETE DATABASE
DL DELETE OBJECT
DL DELETE SCHEMA
EAES EJECUTAR CUALQUIER SCRIPT EXTERNO

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
EX EXECUTE DATABASE
EX EXECUTE OBJECT
EX EXECUTE SCHEMA
EX EXECUTE TYPE
EX EXECUTE XML SCHEMA COLLECTION
IAL SUPLANTAR A CUALQUIERA LOGIN

Se aplica a: SQL Server 2014 (12.x) y versiones posteriores.
SERVER
IM IMPERSONATE LOGIN
IM IMPERSONATE USER
IN INSERT DATABASE
IN INSERT OBJECT
IN INSERT SCHEMA
KIDC KILL DATABASE CONNECTION

Se aplica a: 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

Se aplica a: SQL Server 2017 (14.x) y versiones posteriores, y 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 SUSCRÍBETE A LAS NOTIFICACIONES DE CONSULTA DATABASE
SUS SELECCIONAR TODOS LOS USER ELEMENTOS PROTEGIBLES

Se aplica a: SQL Server 2014 (12.x) y versiones posteriores.
SERVER
TO TOMAR POSESIÓN ASSEMBLY
TO TOMAR POSESIÓN ASYMMETRIC KEY
TO TOMAR POSESIÓN

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
AVAILABILITY GROUP
TO TOMAR POSESIÓN CERTIFICATE
TO TOMAR POSESIÓN CONTRACT
TO TOMAR POSESIÓN DATABASE
TO TOMAR POSESIÓN

Se aplica a: SQL Server 2017 (14.x) y versiones posteriores, y Azure SQL Database.
DATABASE SCOPED CREDENTIAL
TO TOMAR POSESIÓN ENDPOINT
TO TOMAR POSESIÓN FULLTEXT CATALOG
TO TOMAR POSESIÓN FULLTEXT STOPLIST
TO TOMAR POSESIÓN SEARCH PROPERTY LIST
TO TOMAR POSESIÓN MESSAGE TYPE
TO TOMAR POSESIÓN OBJECT
TO TOMAR POSESIÓN REMOTE SERVICE BINDING
TO TOMAR POSESIÓN ROLE
TO TOMAR POSESIÓN ROUTE
TO TOMAR POSESIÓN SCHEMA
TO TOMAR POSESIÓN

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
SERVER ROLE
TO TOMAR POSESIÓN SERVICE
TO TOMAR POSESIÓN SYMMETRIC KEY
TO TOMAR POSESIÓN TYPE
TO TOMAR POSESIÓN XML SCHEMA COLLECTION
UMSK UNMASK

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
UP UPDATE DATABASE
UP UPDATE OBJECT
UP UPDATE SCHEMA
VW VIEW DEFINICIÓN APPLICATION ROLE
VW VIEW DEFINICIÓN ASSEMBLY
VW VIEW DEFINICIÓN ASYMMETRIC KEY
VW VIEW DEFINICIÓN

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
AVAILABILITY GROUP
VW VIEW DEFINICIÓN CERTIFICATE
VW VIEW DEFINICIÓN CONTRACT
VW VIEW DEFINICIÓN DATABASE
VW VIEW DEFINICIÓN

Se aplica a: SQL Server 2017 (14.x) y versiones posteriores, y Azure SQL Database.
DATABASE SCOPED CREDENTIAL
VW VIEW DEFINICIÓN ENDPOINT
VW VIEW DEFINICIÓN FULLTEXT CATALOG
VW VIEW DEFINICIÓN FULLTEXT STOPLIST
VW VIEW DEFINICIÓN LOGIN
VW VIEW DEFINICIÓN MESSAGE TYPE
VW VIEW DEFINICIÓN OBJECT
VW VIEW DEFINICIÓN REMOTE SERVICE BINDING
VW VIEW DEFINICIÓN ROLE
VW VIEW DEFINICIÓN ROUTE
VW VIEW DEFINICIÓN SCHEMA
VW VIEW DEFINICIÓN SEARCH PROPERTY LIST
VW VIEW DEFINICIÓN

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
SERVER ROLE
VW VIEW DEFINICIÓN SERVICE
VW VIEW DEFINICIÓN SYMMETRIC KEY
VW VIEW DEFINICIÓN TYPE
VW VIEW DEFINICIÓN USER
VW VIEW DEFINICIÓN XML SCHEMA COLLECTION
VWAD VIEW CUALQUIER DEFINICIÓN SERVER
VWCK VIEW CUALQUIER COLUMN ENCRYPTION KEY DEFINICIÓN

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
VWCM VIEW CUALQUIER COLUMN MASTER KEY DEFINICIÓN

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.
DATABASE
VWCT VIEW SEGUIMIENTO DE CAMBIOS OBJECT
VWCT VIEW SEGUIMIENTO DE CAMBIOS SCHEMA
VWDB VIEW CUALQUIERA DATABASE SERVER
VWDS VIEW DATABASE ESTADO DATABASE
VWSS VIEW ESTADO DEL SERVIDOR SERVER
XA ACCESO EXTERNO ASSEMBLY SERVER
XU INSEGURO ASSEMBLY SERVER

Remarks

sys.fn_builtin_permissions es una función con valores de tabla que emite una copia de la jerarquía de permisos predefinida. Esta jerarquía incluye los permisos que cubre. El DEFAULT conjunto de resultados describe un gráfico acíclico dirigido de la jerarquía de permisos, del que la raíz es (clase = SERVER, permiso = CONTROL SERVER).

sys.fn_builtin_permissions no acepta parámetros correlacionados.

sys.fn_builtin_permissions devolverá un conjunto vacío cuando se llame con un nombre de clase que no sea válido.

La siguiente imagen muestra los permisos y sus relaciones entre sí. Algunos de los permisos de nivel superior (como CONTROL SERVER) se muestran varias veces. En este artículo, el póster es demasiado pequeño para leerlo. Puede descargar el Póster de permisos del motor de base de datos a tamaño completo en formato PDF.

Captura de pantalla del PDF de permisos del motor de base de datos.

Permissions

Debe pertenecer al rol public.

Examples

A. Enumerar todos los permisos integrados

Use DEFAULT o una cadena vacía para devolver todos los permisos.

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

B. Enumeración de permisos que se pueden establecer en una clave simétrica

Especifique una clase para devolver todos los permisos posibles para esa clase.

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

C. Enumerar clases en las que hay un permiso SELECT

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

Consulte también