sys.fn_builtin_permissions (Transact-SQL)
Se aplica a: SQL ServerAzure SQL Database Azure SQL Instancia administrada
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
Sintaxis
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
Argumentos
[ DEFAULT | NULL ]
Cuando se llama a con la opción DEFAULT (sin comillas), la función devolverá una lista completa de permisos integrados.
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.
Tablas devueltas
Nombre de la columna | Tipo de datos | Intercalación | Descripción |
---|---|---|---|
class_desc | nvarchar(60) | Intercalación del servidor | Descripción de la clase protegible. |
permission_name | nvarchar(60) | Intercalación del servidor | Nombre del 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 de permiso | Se aplica al elemento protegible o la clase |
---|---|---|
AADS | ALTER ANY DATABASE EVENT SESSION Se aplica a: SQL Server 2014 (12.x) y versiones posteriores. |
DATABASE |
AAES | ALTER ANY EVENT SESSION | SERVER |
AAMK | ALTER ANY MASK Se aplica a: SQL Server 2016 (13.x) y versiones posteriores. |
DATABASE |
ADBO | ADMINISTER BULK OPERATIONS | SERVER |
AEDS | ALTER ANY EXTERNAL DATA SOURCE Se aplica a: SQL Server 2016 (13.x) y versiones posteriores. |
DATABASE |
AEFF | ALTER ANY 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 | CERTIFICADO |
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 | ALTER ANY SERVER AUDIT | SERVER |
ALAG | ALTER ANY AVAILABILITY GROUP Se aplica a: SQL Server 2012 (11.x) y versiones posteriores. |
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 Se aplica a: SQL Server 2016 (13.x) y versiones posteriores. |
DATABASE |
ALCM | ALTER ANY COLUMN MASTER KEY Se aplica a: SQL Server 2016 (13.x) y versiones posteriores. |
DATABASE |
ALCO | ALTER ANY CONNECTION | SERVER |
ALDA | ALTER ANY DATABASE AUDIT | DATABASE |
ALDB | ALTER ANY DATABASE | SERVER |
ALDC | ALTER ANY DATABASE SCOPED CONFIGURATION Se aplica a: SQL Server 2016 (13.x) y versiones posteriores. |
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 | ALTER ANY SECURITY POLICY Se aplica a: SQL Server 2016 (13.x) y versiones posteriores. |
DATABASE |
ALSR | ALTER ANY SERVER ROLE Se aplica a: SQL Server 2012 (11.x) y versiones posteriores. |
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 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 | CERTIFICADO |
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 | CONTROL SERVER | 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 | CONNECT REPLICATION | DATABASE |
COSQ | CONNECT 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 | 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 Se aplica a: SQL Server 2012 (11.x) y versiones posteriores. |
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 Se aplica a: SQL Database. |
DATABASE |
DL | Delete | DATABASE |
DL | Delete | OBJECT |
DL | Delete | SCHEMA |
EAES | EXECUTE ANY EXTERNAL SCRIPT Se aplica a: SQL Server 2016 (13.x) y versiones posteriores. |
DATABASE |
EX | Ejecute | DATABASE |
EX | Ejecute | OBJECT |
EX | Ejecute | SCHEMA |
EX | Ejecute | TYPE |
EX | Ejecute | XML SCHEMA COLLECTION |
IAL | IMPERSONATE ANY 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 | CERTIFICADO |
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 | ENVIAR | SERVICE |
SPLN | SHOWPLAN | DATABASE |
SUQN | SUBSCRIBE QUERY NOTIFICATIONS | DATABASE |
SUS | SELECT ALL USER SECURABLES Se aplica a: SQL Server 2014 (12.x) y versiones posteriores. |
SERVER |
TO | TAKE OWNERSHIP | ASSEMBLY |
TO | TAKE OWNERSHIP | ASYMMETRIC KEY |
TO | TAKE OWNERSHIP Se aplica a: SQL Server 2012 (11.x) y versiones posteriores. |
AVAILABILITY GROUP |
TO | TAKE OWNERSHIP | CERTIFICADO |
TO | TAKE OWNERSHIP | CONTRACT |
TO | TAKE OWNERSHIP | DATABASE |
TO | TAKE OWNERSHIP Se aplica a: SQL Server 2017 (14.x) y versiones posteriores, y 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 Se aplica a: SQL Server 2012 (11.x) y versiones posteriores. |
SERVER ROLE |
TO | TAKE OWNERSHIP | SERVICE |
TO | TAKE OWNERSHIP | SYMMETRIC KEY |
TO | TAKE OWNERSHIP | TYPE |
TO | TAKE OWNERSHIP | 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 DEFINITION | APPLICATION ROLE |
VW | VIEW DEFINITION | ASSEMBLY |
VW | VIEW DEFINITION | ASYMMETRIC KEY |
VW | VIEW DEFINITION Se aplica a: SQL Server 2012 (11.x) y versiones posteriores. |
AVAILABILITY GROUP |
VW | VIEW DEFINITION | CERTIFICADO |
VW | VIEW DEFINITION | CONTRACT |
VW | VIEW DEFINITION | DATABASE |
VW | VIEW DEFINITION Se aplica a: SQL Server 2017 (14.x) y versiones posteriores, y Azure SQL Database. |
DATABASE SCOPED CREDENTIAL |
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 | SEARCH PROPERTY LIST |
VW | VIEW DEFINITION Se aplica a: SQL Server 2012 (11.x) y versiones posteriores. |
SERVER ROLE |
VW | VIEW DEFINITION | SERVICE |
VW | VIEW DEFINITION | SYMMETRIC KEY |
VW | VIEW DEFINITION | TYPE |
VW | VIEW DEFINITION | USER |
VW | VIEW DEFINITION | XML SCHEMA COLLECTION |
VWAD | VIEW ANY DEFINITION | SERVER |
VWCK | VIEW ANY COLUMN ENCRYPTION KEY DEFINITION Se aplica a: SQL Server 2016 (13.x) y versiones posteriores. |
DATABASE |
VWCM | VIEW ANY COLUMN MASTER KEY DEFINITION Se aplica a: SQL Server 2016 (13.x) y versiones posteriores. |
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 |
Comentarios
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.
Permisos
Debe pertenecer al rol public.
Ejemplos
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';