Compartir a través de


Permisos (motor de base de datos)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft FabricBase de datos de Azure SQL en Microsoft Fabric

Cada protegible de SQL Server tiene permisos asociados que se pueden conceder a las entidades de seguridad. Los permisos de se administran en el nivel de servidor asignados a los inicios de sesión y roles de servidor, y en el nivel de base de datos asignados a usuarios de base de datos y roles base de datos. El modelo para Azure SQL Database tiene el mismo sistema para los permisos de base de datos, pero los permisos de nivel de servidor no están disponibles. Este artículo contiene una lista completa de los permisos. Para obtener una implementación típica de los permisos, consulte Introducción a los permisos del motor de base de datos.

El número total de permisos para SQL Server 2022 (16.x) es 292. Azure SQL Database expone 292 permisos. La mayoría de los permisos se aplica a todas las plataformas, pero otros no. Por ejemplo, no se puede conceder permisos de nivel de servidor en Azure SQL Database, y algunos permisos solo tienen sentido en Azure SQL Database. Con la nueva versión se van a implementar nuevos permisos gradualmente. SQL Server 2019 (15.x) expone 248 permisos. SQL Server 2017 (14.x) expone 238 permisos. SQL Server 2016 (13.x) expone 230 permisos. SQL Server 2014 (12.x) expone 219 permisos. SQL Server 2012 (11.x) expone 214 permisos. SQL Server 2008 R2 (10.50.x) expone 195 permisos. El artículo sys.fn_builtin_permissions especifica los permisos de las últimas versiones que son nuevos.

En la base de datos SQL de Microsoft Fabric, solo se admiten roles y usuarios de nivel de base de datos. Los inicios de sesión, los roles y la sa cuenta de nivel de servidor no están disponibles. En la base de datos SQL de Microsoft Fabric, Microsoft Entra ID para usuarios de base de datos es el único método de autenticación admitido. Para obtener más información, consulte Autorización en la base de datos SQL en Microsoft Fabric.

Una vez que comprenda los permisos necesarios, puede aplicar permisos de nivel de servidor a los inicios de sesión o roles de servidor, y permisos de nivel de base de datos a los usuarios o roles de base de datos con las instrucciones GRANT, REVOKE y DENY. Por ejemplo:

GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;

Para obtener sugerencias sobre cómo planear un sistema de permisos, consulte Introducción a los permisos del motor de base de datos.

Convenciones de nomenclatura de permisos

A continuación se describen las convenciones generales que se siguen en la nomenclatura de permisos:

  • CONTROL

    Confiere al receptor del permiso capacidades relacionadas con la propiedad. El receptor del permiso dispone de hecho de todos los permisos definidos para el elemento protegible. Una entidad de seguridad a la que se le haya concedido el permiso CONTROL también puede conceder permisos para el elemento protegible. Como el modelo de seguridad de SQL Server es jerárquico, el permiso CONTROL de un determinado ámbito incluye implícitamente el mismo permiso CONTROL para todos los elementos protegibles que abarca dicho ámbito. Por ejemplo, el permiso CONTROL en una base de datos implica todos los permisos de la base de datos, todos los permisos en todos los ensamblados y todos los esquemas de la misma, así como todos los permisos en los objetos de todos los esquemas que incluye la base de datos.

  • ALTER

    Confiere la posibilidad de cambiar las propiedades, excepto la propiedad, de un elemento protegible determinado. Cuando se concede para un ámbito, ALTER también confiere la posibilidad de modificar, crear o quitar cualquier elemento protegible que esté contenido en ese ámbito. Por ejemplo, el permiso ALTER en un esquema incluye la posibilidad de crear, modificar y quitar objetos del esquema.

  • ALTER ANY <Server Securable>, donde Server Securable puede ser cualquier elemento protegible del servidor.

    Confiere la posibilidad de crear, modificar o quitar instancias individuales del Protegible del servidor. Por ejemplo, ALTER ANY LOGIN confiere la posibilidad de crear, modificar o quitar cualquier inicio de sesión en la instancia.

  • ALTER ANY <Database Securable>, donde Database Securable puede ser cualquier elemento protegible en el nivel de base de datos.

    Confiere la posibilidad de crear (CREATE), modificar (ALTER) o quitar (DROP) instancias individuales del Protegible de la base de datos. Por ejemplo, ALTER ANY SCHEMA confiere la posibilidad de crear, modificar o quitar cualquier esquema en la base de datos.

  • ASUMIR RESPONSABILIDAD

    Permite al receptor del permiso tomar propiedad del elemento protegible para el que se concede este permiso.

  • IMPERSONATE <Inicio de sesión>

    Permite al receptor suplantar el inicio de sesión.

  • IMPERSONATE <Usuario>

    Permite al receptor suplantar al usuario.

  • CREATE <Server Securable>

    Confiere al receptor la posibilidad de crear el Protegible del servidor.

  • CREATE <Database Securable>

    Confiere al receptor la posibilidad de crear el Protegible de la base de datos.

  • CREATE <Schema-contained Securable>

    Confiere la posibilidad de crear el elemento protegible contenido en el esquema. No obstante, para crear el elemento protegible en un esquema concreto se requiere el permiso ALTER en el esquema.

  • VER DEFINICIÓN

    Permite al receptor obtener acceso a los metadatos.

  • REFERENCIAS

    El permiso REFERENCES es necesario en una tabla para crear una restricción FOREIGN KEY que hace referencia a esa tabla.

    El permiso de REFERENCES es necesario en un objeto para crear FUNCTION o VIEW con la cláusula WITH SCHEMABINDING que hace referencia a ese objeto.

Gráfico de los permisos de SQL Server

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.

Permisos aplicables a elementos protegibles específicos

En la siguiente tabla se enumeran los principales tipos de permisos y los tipos de elementos protegibles a los que se pueden aplicar.

Permiso Se aplica a
ALTER Todas las clases de objetos excepto TYPE.
CONTROL Todas las clases de objetos:

AGGREGATE,
APPLICATION ROLE,
ASSEMBLY,
ASYMMETRIC KEY,
AVAILABILITY GROUP,
CERTIFICATE,
CONTRACT,
CREDENTIALS,
BASE DE DATOS
DATABASE SCOPED CREDENTIAL,
DEFAULT,
ENDPOINT,
CATÁLOGO DE TEXTO COMPLETO,
FULLTEXT STOPLIST,
FUNCTION,
LOGIN,
TIPO DE MENSAJE,
PROCEDIMIENTO
QUEUE,
REMOTE SERVICE BINDING,
ROLE,
ROUTE,
RULE,
SCHEMA,
SEARCH PROPERTY LIST,
SERVER,
SERVER ROLE,
SERVICE,
CLAVE SIMÉTRICA,
SYNONYM,
TABLE,
TYPE,
USUARIO
VIEW y
COLECCIÓN DE ESQUEMAS XML
ELIMINAR Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION, SERVER y TYPE.
Ejecute Tipos de CLR, scripts externos, procedimientos (Transact-SQL y CLR), funciones escalares y de agregado (Transact-SQL y CLR) y sinónimos
IMPERSONATE Inicios de sesión y usuarios
INSERT Sinónimos, tablas y columnas, vistas y columnas. El permiso se puede conceder en el nivel de base de datos, en el de esquema o en el de objeto.
RECEIVE Colas de Service Broker
REFERENCIAS AGGREGATE,
ASSEMBLY,
ASYMMETRIC KEY,
CERTIFICATE,
CONTRACT,
CREDENTIAL (se aplica a: SQL Server 2022 (16.x) y versiones posteriores),
BASE DE DATOS
DATABASE SCOPED CREDENTIAL,
CATÁLOGO DE TEXTO COMPLETO,
FULLTEXT STOPLIST,
FUNCTION,
TIPO DE MENSAJE,
PROCEDIMIENTO
QUEUE,
RULE,
SCHEMA,
SEARCH PROPERTY LIST,
SEQUENCE OBJECT,
CLAVE SIMÉTRICA,
TABLE,
TYPE,
VIEW y
COLECCIÓN DE ESQUEMAS XML
SELECT Sinónimos, tablas y columnas, vistas y columnas. El permiso se puede conceder en el nivel de base de datos, en el de esquema o en el de objeto.
ASUMIR RESPONSABILIDAD Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION, LOGIN, SERVER y USER.
ACTUALIZACIÓN Sinónimos, tablas y columnas, vistas y columnas. El permiso se puede conceder en el nivel de base de datos, en el de esquema o en el de objeto.
VIEW CHANGE TRACKING Esquemas y tablas
VER DEFINICIÓN Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION y SERVER.

Precaución

Los permisos predeterminados que se conceden a objetos del sistema en el momento de la instalación se evalúan detenidamente frente a posibles amenazas y no necesitan modificarse como parte de la protección de la instalación de SQL Server. Los cambios a los permisos de los objetos del sistema podrían limitar o interrumpir la funcionalidad y dejar potencialmente a su instalación de SQL Server en un estado no admitido.

Permisos de SQL Server

La tabla siguiente contiene una lista completa de los permisos de SQL Server. Los permisos de Azure SQL Database solo están disponibles para elementos protegibles de base que se admiten. No se pueden conceder permisos de nivel de servidor en Azure SQL Database; sin embargo, en algunos casos los permisos de base de datos están disponibles en su lugar.

Elemento protegible base Permisos granulares del elemento protegible base Código del tipo de permiso Elemento protegible que contiene un elemento protegible base Permiso para el elemento protegible contenedor que implica permiso granular para el elemento protegible base
APPLICATION ROLE ALTER AL BASE DE DATOS ALTER ANY APPLICATION ROLE
APPLICATION ROLE CONTROL CL BASE DE DATOS CONTROL
APPLICATION ROLE VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
ASSEMBLY ALTER AL BASE DE DATOS MODIFICAR CUALQUIER ENSAMBLAJE
ASSEMBLY CONTROL CL BASE DE DATOS CONTROL
ASSEMBLY REFERENCIAS RF BASE DE DATOS REFERENCIAS
ASSEMBLY ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
ASSEMBLY VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
ASYMMETRIC KEY ALTER AL BASE DE DATOS ALTER ANY ASYMMETRIC KEY
ASYMMETRIC KEY CONTROL CL BASE DE DATOS CONTROL
ASYMMETRIC KEY REFERENCIAS RF BASE DE DATOS REFERENCIAS
ASYMMETRIC KEY ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
ASYMMETRIC KEY VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
AVAILABILITY GROUP ALTER AL SERVER ALTER ANY AVAILABILITY GROUP
AVAILABILITY GROUP CONTROL CL SERVER SERVIDOR DE CONTROL
AVAILABILITY GROUP ASUMIR RESPONSABILIDAD TO SERVER SERVIDOR DE CONTROL
AVAILABILITY GROUP VER DEFINICIÓN VW SERVER VER CUALQUIER DEFINICIÓN
CERTIFICADO ALTER AL BASE DE DATOS ALTERAR CUALQUIER CERTIFICADO
CERTIFICADO CONTROL CL BASE DE DATOS CONTROL
CERTIFICADO REFERENCIAS RF BASE DE DATOS REFERENCIAS
CERTIFICADO ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
CERTIFICADO VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
CONTRATO ALTER AL BASE DE DATOS ALTERAR CUALQUIER CONTRATO
CONTRATO CONTROL CL BASE DE DATOS CONTROL
CONTRATO REFERENCIAS RF BASE DE DATOS REFERENCIAS
CONTRATO ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
CONTRATO VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
CREDENTIAL CONTROL CL SERVER SERVIDOR DE CONTROL
CREDENTIAL REFERENCIAS RF SERVER ALTER ANY CREDENTIAL
BASE DE DATOS ADMINISTER DATABASE BULK OPERATIONS DABO SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER AL SERVER ALTERAR CUALQUIER BASE DE DATOS
BASE DE DATOS ALTER ANY APPLICATION ROLE ALAR SERVER SERVIDOR DE CONTROL
BASE DE DATOS MODIFICAR CUALQUIER ENSAMBLAJE ALAS SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER ANY ASYMMETRIC KEY ALAK SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER CERTIFICADO ALCF SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER ANY COLUMN ENCRYPTION KEY ALCK

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database.
SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER ANY COLUMN MASTER KEY ALCM

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database.
SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER CONTRATO ALSC SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER ANY DATABASE AUDIT ALDA SERVER ALTER ANY SERVER AUDIT
BASE DE DATOS ALTER ANY DATABASE DDL TRIGGER ALTG SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER ANY DATABASE EVENT NOTIFICATION ALED SERVER ALTERAR CUALQUIER NOTIFICACIÓN DE EVENTO
BASE DE DATOS ALTERAR CUALQUIER SESIÓN DE EVENTO DE BASE DE DATOS AADS SERVER Modificar cualquier sesión de eventos
BASE DE DATOS ALTERAR CUALQUIER SESIÓN DE EVENTOS DE BASE DE DATOS AÑADIR EVENTO LDAE SERVER ALTERAR CUALQUIER SESIÓN DE EVENTOS AGREGAR EVENTO
BASE DE DATOS ALTER ANY DATABASE EVENT SESSION ADD TARGET LDAT SERVER ALTERAR CUALQUIER SESIÓN DE EVENTO AÑADIR OBJETIVO
BASE DE DATOS ALTER ANY DATABASE EVENT SESSION DISABLE DDES SERVER ALTER ANY EVENT SESSION DISABLE
BASE DE DATOS ALTER ANY DATABASE EVENT SESSION DROP EVENT LDDE SERVER ALTER ANY EVENT SESSION DROP EVENT
BASE DE DATOS ALTER ANY DATABASE EVENT SESSION DROP TARGET LDDT SERVER ALTER ANY EVENT SESSION DROP TARGET
BASE DE DATOS ALTER ANY DATABASE EVENT SESSION ENABLE EDES SERVER ALTER ANY EVENT SESSION ENABLE
BASE DE DATOS ALTER ANY DATABASE EVENT SESSION OPTION LDSO SERVER ALTERAR CUALQUIER OPCIÓN DE SESIÓN DE EVENTO
BASE DE DATOS ALTERAR CUALQUIER CONFIGURACIÓN DEL ÁMBITO DE LA BASE DE DATOS ALDC

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database.
SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER ESPACIO DE DATOS ALDS SERVER SERVIDOR DE CONTROL
BASE DE DATOS MODIFICAR CUALQUIER FUENTE DE DATOS EXTERNA AEDS SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER FORMATO DE ARCHIVO EXTERNO AEFF SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER TRABAJO EXTERNO AESJ SERVER SERVIDOR DE CONTROL
BASE DE DATOS MODIFICAR CUALQUIER LENGUAJE EXTERNO ALLA SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER ANY EXTERNAL LIBRARY ALEL SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER FLUJO EXTERNO AEST SERVER SERVIDOR DE CONTROL
BASE DE DATOS MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO ALFT SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER MÁSCARA AAMK

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database.
SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER TIPO DE MENSAJE ALMT SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER VINCULACIÓN DE SERVICIO REMOTO ALSB SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER ANY ROLE ALRL SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER RUTA ALRT SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER ANY SCHEMA ALSM SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER POLÍTICA DE SEGURIDAD ALSP

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database.
SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER CLASIFICACIÓN DE SENSIBILIDAD AASC
Se aplica a: SQL Server (desde SQL Server 2019 (15.x) hasta la versión actual), Azure SQL Database.
SERVER SERVIDOR DE CONTROL
BASE DE DATOS Modificar cualquier servicio ALSV SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER ANY SYMMETRIC KEY ALSK SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTERAR CUALQUIER USUARIO ALUS SERVER SERVIDOR DE CONTROL
BASE DE DATOS ALTER LEDGER ALR SERVER CONTROL
BASE DE DATOS ALTER LEDGER CONFIGURATION ALC SERVER SERVIDOR DE CONTROL
BASE DE DATOS AUTHENTICATE AUTH SERVER AUTHENTICATE SERVER
BASE DE DATOS BACKUP DATABASE BADB SERVER SERVIDOR DE CONTROL
BASE DE DATOS BACKUP LOG BALO SERVER SERVIDOR DE CONTROL
BASE DE DATOS PUNTO DE CONTROL CP SERVER SERVIDOR DE CONTROL
BASE DE DATOS CONNECT monóxido de carbono SERVER SERVIDOR DE CONTROL
BASE DE DATOS CONNECT REPLICATION CORP SERVER SERVIDOR DE CONTROL
BASE DE DATOS CONTROL CL SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREATE AGGREGATE CRAG SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREATE ANY DATABASE EVENT SESSION CRDS SERVER CREA CUALQUIER SESIÓN DE EVENTO
BASE DE DATOS CREATE ASSEMBLY CRAS SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREATE ASYMMETRIC KEY CRAK SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR CERTIFICADO CRCF SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR CONTRATO CRSC SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR BASE DE DATOS CRDB SERVER CREAR CUALQUIER BASE DE DATOS
BASE DE DATOS CREATE DATABASE DDL EVENT NOTIFICATION CRED SERVER CREACIÓN DE UNA NOTIFICACIÓN DE EVENTOS DDL
BASE DE DATOS CREATE DEFAULT CRDF SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR LENGUAJE EXTERNO CRLA SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR BIBLIOTECA EXTERNA CREL SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR CATÁLOGO DE TEXTO COMPLETO CRFT SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREATE FUNCTION CRFN SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR TIPO DE MENSAJE CRMT SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREATE PROCEDURE CRPR SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREATE QUEUE CRQU SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREATE REMOTE SERVICE BINDING CRSB SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREATE ROLE CRRL SERVER SERVIDOR DE CONTROL
BASE DE DATOS Crear ruta CRRT SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREATE RULE CRRU SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR ESQUEMA CRSM SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR SERVICIO CRSV SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREACIÓN DE UNA CLAVE SIMÉTRICA CRSK SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR SINÓNIMO CRSN SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREATE TABLE CRTB SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR TIPO CRTY SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR USUARIO CUSR SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR VISTA CRVW SERVER SERVIDOR DE CONTROL
BASE DE DATOS CREAR COLECCIÓN DE ESQUEMA XML CRXS SERVER SERVIDOR DE CONTROL
BASE DE DATOS ELIMINAR DL SERVER SERVIDOR DE CONTROL
BASE DE DATOS DROP ANY DATABASE EVENT SESSION DRDS SERVER ELIMINAR CUALQUIER SESIÓN DE EVENTOS
BASE DE DATOS Habilitar Ledger EL SERVER CONTROL
BASE DE DATOS Ejecute EX SERVER SERVIDOR DE CONTROL
BASE DE DATOS EXECUTE ANY EXTERNAL ENDPOINT EAEE SERVER SERVIDOR DE CONTROL
BASE DE DATOS EXECUTE ANY EXTERNAL SCRIPT EAES

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual).
SERVER SERVIDOR DE CONTROL
BASE DE DATOS INSERT IN SERVER SERVIDOR DE CONTROL
BASE DE DATOS KILL DATABASE CONNECTION KIDC

Solo se aplica a Azure SQL Database. Use ALTER ANY CONNECTION en SQL Server.
SERVER ALTERAR CUALQUIER CONEXIÓN
BASE DE DATOS REFERENCIAS RF SERVER SERVIDOR DE CONTROL
BASE DE DATOS SELECT SL SERVER SERVIDOR DE CONTROL
BASE DE DATOS SHOWPLAN SPLN SERVER ALTER TRACE
BASE DE DATOS SUSCRÍBETE A LAS NOTIFICACIONES DE CONSULTA SUQN SERVER SERVIDOR DE CONTROL
BASE DE DATOS ASUMIR RESPONSABILIDAD TO SERVER SERVIDOR DE CONTROL
BASE DE DATOS UNMASK UMSK

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database.
SERVER SERVIDOR DE CONTROL
BASE DE DATOS ACTUALIZACIÓN UP SERVER SERVIDOR DE CONTROL
BASE DE DATOS VIEW ANY COLUMN ENCRYPTION KEY DEFINITION VWCK

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database.
SERVER Ver estado del servidor
BASE DE DATOS VIEW ANY COLUMN MASTER KEY DEFINITION VWCM

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database.
SERVER Ver estado del servidor
BASE DE DATOS VER CUALQUIER CLASIFICACIÓN DE CONFIDENCIALIDAD VASC SERVER SERVIDOR DE CONTROL
BASE DE DATOS VISUALIZACIÓN DE LA DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE VCD SERVER VER CUALQUIER DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE
BASE DE DATOS VER EL ESTADO DE RENDIMIENTO DE LA BASE DE DATOS VDP SERVER VER EL ESTADO DE RENDIMIENTO DEL SERVIDOR
BASE DE DATOS VIEW DATABASE SECURITY AUDIT VDSA SERVER SERVIDOR DE CONTROL
BASE DE DATOS VER EL ESTADO DE SEGURIDAD DE LA BASE DE DATOS VDS SERVER VER ESTADO DE SEGURIDAD DEL SERVIDOR
BASE DE DATOS VER EL ESTADO DE LA BASE DE DATOS VWDS SERVER Ver estado del servidor
BASE DE DATOS VER DEFINICIÓN VW SERVER VER CUALQUIER DEFINICIÓN
BASE DE DATOS VIEW LEDGER CONTENT VLC SERVER CONTROL
BASE DE DATOS VER DEFINICIÓN DE SEGURIDAD VWS SERVER VER CUALQUIER DEFINICIÓN DE SEGURIDAD
BASE DE DATOS VER DEFINICIÓN DE RENDIMIENTO VWP SERVER VISUALIZACIÓN DE CUALQUIER DEFINICIÓN DE RENDIMIENTO
DATABASE SCOPED CREDENTIAL ALTER AL BASE DE DATOS CONTROL
DATABASE SCOPED CREDENTIAL CONTROL CL BASE DE DATOS CONTROL
DATABASE SCOPED CREDENTIAL REFERENCIAS RF BASE DE DATOS REFERENCIAS
DATABASE SCOPED CREDENTIAL ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
DATABASE SCOPED CREDENTIAL VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
PUNTO FINAL ALTER AL SERVER ALTERAR CUALQUIER PUNTO FINAL
PUNTO FINAL CONNECT monóxido de carbono SERVER SERVIDOR DE CONTROL
PUNTO FINAL CONTROL CL SERVER SERVIDOR DE CONTROL
PUNTO FINAL ASUMIR RESPONSABILIDAD TO SERVER SERVIDOR DE CONTROL
PUNTO FINAL VER DEFINICIÓN VW SERVER VER CUALQUIER DEFINICIÓN
CATÁLOGO DE TEXTO COMPLETO ALTER AL BASE DE DATOS MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO
CATÁLOGO DE TEXTO COMPLETO CONTROL CL BASE DE DATOS CONTROL
CATÁLOGO DE TEXTO COMPLETO REFERENCIAS RF BASE DE DATOS REFERENCIAS
CATÁLOGO DE TEXTO COMPLETO ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
CATÁLOGO DE TEXTO COMPLETO VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
FULLTEXT STOPLIST ALTER AL BASE DE DATOS MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO
FULLTEXT STOPLIST CONTROL CL BASE DE DATOS CONTROL
FULLTEXT STOPLIST REFERENCIAS RF BASE DE DATOS REFERENCIAS
FULLTEXT STOPLIST ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
FULLTEXT STOPLIST VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
LOGIN ALTER AL SERVER ALTER ANY LOGIN
LOGIN CONTROL CL SERVER SERVIDOR DE CONTROL
LOGIN IMPERSONATE MI (Mensajería Instantánea) SERVER SERVIDOR DE CONTROL
LOGIN VER DEFINICIÓN VW SERVER VER CUALQUIER DEFINICIÓN
TIPO DE MENSAJE ALTER AL BASE DE DATOS ALTERAR CUALQUIER TIPO DE MENSAJE
TIPO DE MENSAJE CONTROL CL BASE DE DATOS CONTROL
TIPO DE MENSAJE REFERENCIAS RF BASE DE DATOS REFERENCIAS
TIPO DE MENSAJE ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
TIPO DE MENSAJE VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
OBJECT ALTER AL ESQUEMA ALTER
OBJECT CONTROL CL ESQUEMA CONTROL
OBJECT ELIMINAR DL ESQUEMA ELIMINAR
OBJECT Ejecute EX ESQUEMA Ejecute
OBJECT INSERT IN ESQUEMA INSERT
OBJECT RECEIVE RC ESQUEMA CONTROL
OBJECT REFERENCIAS RF ESQUEMA REFERENCIAS
OBJECT SELECT SL ESQUEMA SELECT
OBJECT ASUMIR RESPONSABILIDAD TO ESQUEMA CONTROL
OBJECT UNMASK UMSK ESQUEMA UNMASK
OBJECT ACTUALIZACIÓN UP ESQUEMA ACTUALIZACIÓN
OBJECT VIEW CHANGE TRACKING VWCT ESQUEMA VIEW CHANGE TRACKING
OBJECT VER DEFINICIÓN VW ESQUEMA VER DEFINICIÓN
REMOTE SERVICE BINDING ALTER AL BASE DE DATOS ALTERAR CUALQUIER VINCULACIÓN DE SERVICIO REMOTO
REMOTE SERVICE BINDING CONTROL CL BASE DE DATOS CONTROL
REMOTE SERVICE BINDING ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
REMOTE SERVICE BINDING VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
ROL ALTER AL BASE DE DATOS ALTER ANY ROLE
ROL CONTROL CL BASE DE DATOS CONTROL
ROL ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
ROL VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
RUTA ALTER AL BASE DE DATOS ALTERAR CUALQUIER RUTA
RUTA CONTROL CL BASE DE DATOS CONTROL
RUTA ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
RUTA VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
ESQUEMA ALTER AL BASE DE DATOS ALTER ANY SCHEMA
ESQUEMA CONTROL CL BASE DE DATOS CONTROL
ESQUEMA CREATE SEQUENCE CRSO BASE DE DATOS CONTROL
ESQUEMA ELIMINAR DL BASE DE DATOS ELIMINAR
ESQUEMA Ejecute EX BASE DE DATOS Ejecute
ESQUEMA INSERT IN BASE DE DATOS INSERT
ESQUEMA REFERENCIAS RF BASE DE DATOS REFERENCIAS
ESQUEMA SELECT SL BASE DE DATOS SELECT
ESQUEMA ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
ESQUEMA UNMASK UMSK BASE DE DATOS UNMASK
ESQUEMA ACTUALIZACIÓN UP BASE DE DATOS ACTUALIZACIÓN
ESQUEMA VIEW CHANGE TRACKING VWCT BASE DE DATOS VIEW CHANGE TRACKING
ESQUEMA VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
BUSCAR LISTA DE PROPIEDADES ALTER AL SERVER MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO
BUSCAR LISTA DE PROPIEDADES CONTROL CL SERVER CONTROL
BUSCAR LISTA DE PROPIEDADES REFERENCIAS RF SERVER REFERENCIAS
BUSCAR LISTA DE PROPIEDADES ASUMIR RESPONSABILIDAD TO SERVER CONTROL
BUSCAR LISTA DE PROPIEDADES VER DEFINICIÓN VW SERVER VER DEFINICIÓN
SERVER ADMINISTER BULK OPERATIONS ADBO No aplicable No aplicable
SERVER ALTER ANY AVAILABILITY GROUP ALAG No aplicable No aplicable
SERVER ALTERAR CUALQUIER CONEXIÓN ALCO No aplicable No aplicable
SERVER ALTER ANY CREDENTIAL ALCD No aplicable No aplicable
SERVER ALTERAR CUALQUIER BASE DE DATOS ALDB No aplicable No aplicable
SERVER ALTERAR CUALQUIER PUNTO FINAL ALHE No aplicable No aplicable
SERVER ALTERAR CUALQUIER NOTIFICACIÓN DE EVENTO ALES No aplicable No aplicable
SERVER Modificar cualquier sesión de eventos AAES No aplicable No aplicable
SERVER ALTERAR CUALQUIER SESIÓN DE EVENTOS AGREGAR EVENTO LSAE No aplicable No aplicable
SERVER ALTERAR CUALQUIER SESIÓN DE EVENTO AÑADIR OBJETIVO LSAT No aplicable No aplicable
SERVER ALTER ANY EVENT SESSION DISABLE DES (Data Encryption Standard - Estándar de Cifrado de Datos) No aplicable No aplicable
SERVER ALTER ANY EVENT SESSION DROP EVENT LSDE No aplicable No aplicable
SERVER ALTER ANY EVENT SESSION DROP TARGET LSDT No aplicable No aplicable
SERVER ALTER ANY EVENT SESSION ENABLE EES No aplicable No aplicable
SERVER ALTERAR CUALQUIER OPCIÓN DE SESIÓN DE EVENTO LESO No aplicable No aplicable
SERVER ALTERAR CUALQUIER SERVIDOR VINCULADO ALLS No aplicable No aplicable
SERVER ALTER ANY LOGIN ALLG No aplicable No aplicable
SERVER ALTER ANY SERVER AUDIT ALAA No aplicable No aplicable
SERVER ALTERAR CUALQUIER ROL DE SERVIDOR ALSR No aplicable No aplicable
SERVER ALTER RESOURCES ALRS No aplicable No aplicable
SERVER ALTERAR ESTADO DEL SERVIDOR ALSS No aplicable No aplicable
SERVER Ajustar configuraciones ALST No aplicable No aplicable
SERVER ALTER TRACE ALTR No aplicable No aplicable
SERVER AUTHENTICATE SERVER AUTH No aplicable No aplicable
SERVER CONECTAR CUALQUIER BASE DE DATOS CADB No aplicable No aplicable
SERVER CONNECT SQL COSQ No aplicable No aplicable
SERVER SERVIDOR DE CONTROL CL No aplicable No aplicable
SERVER CREAR CUALQUIER BASE DE DATOS CRDB No aplicable No aplicable
SERVER Crear grupo de disponibilidad CRAC No aplicable No aplicable
SERVER CREACIÓN DE UNA NOTIFICACIÓN DE EVENTOS DDL CRDE No aplicable No aplicable
SERVER CREATE ENDPOINT CRHE No aplicable No aplicable
SERVER CREAR ROL DE SERVIDOR (CREATE SERVER ROLE) CRSR No aplicable No aplicable
SERVER CREATE TRACE EVENT NOTIFICATION CRTE No aplicable No aplicable
SERVER ENSAMBLADO DE ACCESO EXTERNO XA No aplicable No aplicable
SERVER IMPERSONATE ANY LOGIN IAL No aplicable No aplicable
SERVER SELECT ALL USER SECURABLES SUS No aplicable No aplicable
SERVER SHUTDOWN SHDN No aplicable No aplicable
SERVER ENSAMBLADO NO SEGURO XU No aplicable No aplicable
SERVER VER CUALQUIER BASE DE DATOS VWDB No aplicable No aplicable
SERVER VER CUALQUIER DEFINICIÓN VWAD No aplicable No aplicable
SERVER Ver estado del servidor VWSS No aplicable No aplicable
ROL DE SERVIDOR ALTER AL SERVER ALTERAR CUALQUIER ROL DE SERVIDOR
ROL DE SERVIDOR CONTROL CL SERVER SERVIDOR DE CONTROL
ROL DE SERVIDOR ASUMIR RESPONSABILIDAD TO SERVER SERVIDOR DE CONTROL
ROL DE SERVIDOR VER DEFINICIÓN VW SERVER VER CUALQUIER DEFINICIÓN
SERVICIO ALTER AL BASE DE DATOS Modificar cualquier servicio
SERVICIO CONTROL CL BASE DE DATOS CONTROL
SERVICIO ENVIAR SN BASE DE DATOS CONTROL
SERVICIO ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
SERVICIO VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
CLAVE SIMÉTRICA ALTER AL BASE DE DATOS ALTER ANY SYMMETRIC KEY
CLAVE SIMÉTRICA CONTROL CL BASE DE DATOS CONTROL
CLAVE SIMÉTRICA REFERENCIAS RF BASE DE DATOS REFERENCIAS
CLAVE SIMÉTRICA ASUMIR RESPONSABILIDAD TO BASE DE DATOS CONTROL
CLAVE SIMÉTRICA VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
TIPO CONTROL CL ESQUEMA CONTROL
TIPO Ejecute EX ESQUEMA Ejecute
TIPO REFERENCIAS RF ESQUEMA REFERENCIAS
TIPO ASUMIR RESPONSABILIDAD TO ESQUEMA CONTROL
TIPO VER DEFINICIÓN VW ESQUEMA VER DEFINICIÓN
USUARIO ALTER AL BASE DE DATOS MODIFICAR CUALQUIER USUARIO
USUARIO CONTROL CL BASE DE DATOS CONTROL
USUARIO IMPERSONATE MI (Mensajería Instantánea) BASE DE DATOS CONTROL
USUARIO VER DEFINICIÓN VW BASE DE DATOS VER DEFINICIÓN
COLECCIÓN DE ESQUEMAS XML ALTER AL ESQUEMA ALTER
COLECCIÓN DE ESQUEMAS XML CONTROL CL ESQUEMA CONTROL
COLECCIÓN DE ESQUEMAS XML Ejecute EX ESQUEMA Ejecute
COLECCIÓN DE ESQUEMAS XML REFERENCIAS RF ESQUEMA REFERENCIAS
COLECCIÓN DE ESQUEMAS XML ASUMIR RESPONSABILIDAD TO ESQUEMA CONTROL
COLECCIÓN DE ESQUEMAS XML VER DEFINICIÓN VW ESQUEMA VER DEFINICIÓN

Nuevos permisos granulares agregados a SQL Server 2022

Los permisos siguientes se agregan a SQL Server 2022:

  • Se han agregado 10 nuevos permisos para permitir el acceso a los metadatos del sistema.

  • Se han agregado 18 nuevos permisos para eventos extendidos.

  • Se han agregado 9 nuevos permisos con respecto a los objetos relacionados con la seguridad.

  • Se han agregado 4 permisos para el libro de contabilidad.

  • 3 permisos adicionales de base de datos.

Para obtener más información, consulte Nuevos permisos granulares para SQL Server 2022 y Azure SQL para mejorar la adhesión a PoLP.

Acceso a los permisos de metadatos del sistema

Nivel de servidor:

  • VER CUALQUIER DEFINICIÓN DE SEGURIDAD
  • VISUALIZACIÓN DE CUALQUIER DEFINICIÓN DE RENDIMIENTO
  • VER ESTADO DE SEGURIDAD DEL SERVIDOR
  • VER EL ESTADO DE RENDIMIENTO DEL SERVIDOR
  • VER CUALQUIER DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE

Nivel de base de datos:

  • VER EL ESTADO DE SEGURIDAD DE LA BASE DE DATOS
  • VER EL ESTADO DE RENDIMIENTO DE LA BASE DE DATOS
  • VER DEFINICIÓN DE SEGURIDAD
  • VER DEFINICIÓN DE RENDIMIENTO
  • VISUALIZACIÓN DE LA DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE

Sesiones de eventos extendidos

Nivel de servidor:

  • CREA CUALQUIER SESIÓN DE EVENTO
  • ELIMINAR CUALQUIER SESIÓN DE EVENTOS
  • ALTERAR CUALQUIER OPCIÓN DE SESIÓN DE EVENTO
  • ALTERAR CUALQUIER SESIÓN DE EVENTOS AGREGAR EVENTO
  • ALTER ANY EVENT SESSION DROP EVENT
  • ALTER ANY EVENT SESSION ENABLE
  • ALTER ANY EVENT SESSION DISABLE
  • ALTERAR CUALQUIER SESIÓN DE EVENTO AÑADIR OBJETIVO
  • ALTER ANY EVENT SESSION DROP TARGET

Todos estos permisos están bajo el mismo permiso primario: ALTER ANY EVENT SESSION

Nivel de base de datos:

  • CREATE ANY DATABASE EVENT SESSION
  • DROP ANY DATABASE EVENT SESSION
  • ALTER ANY DATABASE EVENT SESSION OPTION
  • ALTER ANY DATABASE EVENT SESSION ADD EVENT
  • ALTER ANY DATABASE EVENT SESSION DROP EVENT
  • ALTER ANY DATABASE EVENT SESSION ENABLE
  • ALTER ANY DATABASE EVENT SESSION DISABLE
  • ALTER ANY DATABASE EVENT SESSION ADD TARGET
  • ALTER ANY DATABASE EVENT SESSION DROP TARGET

Todos estos permisos están bajo el mismo permiso primario: ALTER ANY DATABASE EVENT SESSION

  • CONTROL (CREDENTIAL)
  • Crear inicio de sesión
  • CREAR USUARIO
  • REFERENCIAS (CREDENCIAL)
  • DESENMASCARAR (OBJETO)
  • DESENMASCARAR (SCHEMA)
  • VER CUALQUIER REGISTRO DE ERRORES
  • VIEW SERVER SECURITY AUDIT
  • VIEW DATABASE SECURITY AUDIT

Permisos del libro de contabilidad

  • ALTER LEDGER
  • ALTER LEDGER CONFIGURATION
  • Habilitar Ledger
  • VIEW LEDGER CONTENT

Otros permisos de base de datos

  • ALTERAR CUALQUIER TRABAJO EXTERNO
  • ALTERAR CUALQUIER FLUJO EXTERNO
  • EXECUTE ANY EXTERNAL ENDPOINT

Resumen del algoritmo de comprobación de permiso

Comprobar los permisos puede ser complejo. El algoritmo de comprobación de permiso incluye la superposición de la pertenencia a grupos y el encadenamiento de propiedad, tanto el permiso explícito como el implícito, y puede ser afectado por los permisos en las clases protegibles y que contienen la entidad protegible. El proceso general del algoritmo es reunir todos los permisos pertinentes. Si no se encuentra ningún bloqueo DENY, el algoritmo busca un permiso GRANT que proporcione el acceso suficiente. El algoritmo contiene tres elementos esenciales, el contexto de seguridad, el espacio del permisoy el permiso necesario.

Nota

No se pueden conceder, denegar o revocar permisos a sa, dboel propietario de la entidad, information_schema, syso usted mismo.

  • Contexto de seguridad

    Es el grupo de entidades de seguridad que aportan los permisos para la comprobación de acceso. Son los permisos que están relacionados con el inicio de sesión actual o el usuario, a menos que el contexto de seguridad se cambiara a otro inicio de sesión o usuario utilizando la instrucción EXECUTE AS. El contexto de seguridad incluye las entidades de seguridad siguientes:

    • El inicio de sesión

    • El usuario

    • Pertenecientes al rol

    • Pertenecientes al grupo Windows

    • Si se utiliza la firma de módulo, cualquier cuenta de inicio de sesión o de usuario da cuenta del certificado utilizado para firmar el módulo que el usuario está ejecutando actualmente, así como de los pertenecientes al rol asociados de ese entidad de seguridad.

  • Espacio del permiso

    Es la entidad protegible y todas las clases protegibles que contiene la entidad protegible. Por ejemplo, una tabla (una entidad protegible) está contenida en la clase de esquema protegible y en la clase de base de datos protegible. El acceso puede verse afectado por permisos de nivel de tabla, esquema, base de datos y servidor. Para obtener más información, vea Jerarquía de permisos (motor de base de datos).

  • Permiso necesario

    El tipo de permiso que se necesita. Por ejemplo, INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL, etc.

    El acceso puede requerir varios permisos, como en los ejemplos siguientes:

    • Un procedimiento almacenado puede requerir el permiso EXECUTE sobre el procedimiento almacenado y el permiso INSERT sobre varias tablas a las que hace referencia el procedimiento almacenado.

    • Una vista de administración dinámica puede requerir los permisos VIEW SERVER STATE y SELECT sobre la vista.

Pasos generales del algoritmo

Cuando el algoritmo está determinando si permite el acceso a un elemento protegible, los pasos precisos que utiliza pueden variar, dependiendo de las entidades de seguridad y de los elementos protegibles implicados. Sin embargo, el algoritmo da los siguientes pasos generales:

  1. Omite la comprobación del permiso si el inicio de sesión es un miembro del rol fijo de servidor sysadmin o si el usuario es el usuario de dbo en la base de datos actual.

  2. Permite el acceso si es aplicable el encadenamiento de propiedad y la comprobación de acceso en el objeto anterior de la cadena pasó la comprobación de seguridad.

  3. Agrega las identidades de nivel del servidor, de base de datos y de módulo firmado que se asocian al autor de las llamadas para crear el contexto de seguridad.

  4. Para ese contexto de seguridad, reúne todos los permisos que se conceden o deniegan para el espacio del permiso. El permiso se puede nombrar explícitamente como GRANT, GRANT WITH GRANT o DENY; o los permisos pueden ser un permiso GRANT o DENY implícito o inclusivo. Por ejemplo, el permiso CONTROL sobre un esquema implica CONTROL sobre una tabla. Asimismo, CONTROL sobre una tabla implica SELECT. Por consiguiente, si se otorgó CONTROL sobre el esquema, se otorgó SELECT sobre la tabla. Si se denegó CONTROL sobre la tabla, también se denegó SELECT sobre ella.

    Nota

    Un permiso GRANT de nivel de columna invalida un permiso DENY en el nivel de objeto. Para obtener más información, vea DENY Object Permissions( Permisos de objeto DENY).

  5. Identifique el permiso requerido.

  6. La comprobación del permiso no se realiza correctamente si el permiso requerido es denegado directa o implícitamente a cualquiera de las identidades del contexto de seguridad para los objetos del espacio del permiso.

  7. La comprobación del permiso es correcta si no se denegó el permiso requerido y el permiso requerido contiene un permiso GRANT o un permiso GRANT WITH GRANT directo o implícito para cualquiera de las identidades del contexto de seguridad de cualquier objeto del espacio del permiso.

Consideraciones especiales sobre los permisos de nivel de columna

Los permisos de nivel de columna se conceden con la sintaxis <table_name>(<column _name>). Por ejemplo:

GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;

Un permiso DENY en la tabla se reemplaza por un permiso GRANT en una columna. Pero un permiso DENY subsiguiente en la tabla quitará la columna GRANT.

Ejemplos

En los ejemplos de esta sección se muestra cómo se recupera la información sobre permisos.

A. Devolver la lista completa de los permisos que pueden concederse.

La siguiente instrucción devuelve todos los permisos del motor de base de datos mediante la función fn_builtin_permissions. Para obtener más información, consulte sys.fn_builtin_permissions.

SELECT * FROM fn_builtin_permissions(default);
GO

B. Devolver los permisos de una clase de objetos concreta

En el ejemplo siguiente se usa fn_builtin_permissions para ver todos los permisos que están disponibles para una categoría de elemento protegible. El ejemplo devuelve permisos de ensamblados.

SELECT * FROM fn_builtin_permissions('assembly');
GO

C. Devolver los permisos de un objeto concedidos a la entidad de seguridad que se ejecuta

En el ejemplo siguiente se usa fn_my_permissions para devolver una lista de los permisos efectivos que son retenidos por la entidad de seguridad de la llamada sobre un elemento protegible específico. El ejemplo devuelve los permisos de un objeto denominado Orders55. Para obtener más información, consulte sys.fn_my_permissions.

SELECT * FROM fn_my_permissions('Orders55', 'object');
GO

D. Devolver los permisos aplicables a un objeto especificado

El ejemplo siguiente devuelve los permisos aplicables a un objeto denominado Yttrium. Observa que la función integrada OBJECT_ID se utiliza para recuperar el identificador del objeto Yttrium.

SELECT * FROM sys.database_permissions
    WHERE major_id = OBJECT_ID('Yttrium');
GO