Compartir a través de


Permisos (motor de base de datos)

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de SQL Analytics en Microsoft FabricAlmacén en Microsoft FabricBase de datos 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 SQL Database en 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, el identificador de Entra de Microsoft para los usuarios de la 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.

  • TOMAR POSESIÓN

    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 <Elemento protegible contenido en el esquema>

    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.

  • REFERENCES

    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.

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

AGGREGATE,
ROL DE APLICACIÓN,
ASSEMBLY,
CLAVE ASIMÉTRICA,
GRUPO DE DISPONIBILIDAD,
CERTIFICATE,
CONTRACT,
CREDENTIALS,
DATABASE,
CREDENCIAL DE ÁMBITO DE BASE DE DATOS
DEFAULT,
ENDPOINT,
CATÁLOGO DE TEXTO COMPLETO,
FULLTEXT STOPLIST,
FUNCTION,
LOGIN,
TIPO DE MENSAJE,
PROCEDURE,
QUEUE,
ENLACE DE SERVICIO REMOTO
ROLE,
ROUTE,
RULE,
SCHEMA,
BUSCAR LISTA DE PROPIEDADES
SERVER,
ROL DE SERVIDOR,
SERVICE,
CLAVE SIMÉTRICA,
SYNONYM,
TABLE,
TYPE,
USER,
VIEW y
COLECCIÓN DE ESQUEMAS XML
DELETE Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION, SERVER y TYPE.
EXECUTE 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
REFERENCES AGGREGATE,
ASSEMBLY,
CLAVE ASIMÉTRICA,
CERTIFICATE,
CONTRACT,
CREDENTIAL (se aplica a: SQL Server 2022 (16.x) y versiones posteriores),
DATABASE,
CREDENCIAL DE ÁMBITO DE BASE DE DATOS
CATÁLOGO DE TEXTO COMPLETO,
Lista de palabras vacías para búsqueda de texto completo
FUNCTION,
TIPO DE MENSAJE,
PROCEDURE,
QUEUE,
RULE,
SCHEMA,
BUSCAR LISTA DE PROPIEDADES
OBJETO SECUENCIA
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.
TOMAR POSESIÓN Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION, LOGIN, SERVER y USER.
UPDATE 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.
VISUALIZACIÓN DEL SEGUIMIENTO DE CAMBIOS Esquemas y tablas
VER DEFINICIÓN Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION y SERVER.

Caution

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.

Base protegible 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
ROL DE APLICACIÓN ALTER AL DATABASE ALTERAR CUALQUIER ROL DE APLICACIÓN
ROL DE APLICACIÓN CONTROL CL DATABASE CONTROL
ROL DE APLICACIÓN VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
ASSEMBLY ALTER AL DATABASE MODIFICAR CUALQUIER ENSAMBLAJE
ASSEMBLY CONTROL CL DATABASE CONTROL
ASSEMBLY REFERENCES RF DATABASE REFERENCES
ASSEMBLY TOMAR POSESIÓN TO DATABASE CONTROL
ASSEMBLY VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
CLAVE ASIMÉTRICA ALTER AL DATABASE ALTERAR CUALQUIER CLAVE ASIMÉTRICA
CLAVE ASIMÉTRICA CONTROL CL DATABASE CONTROL
CLAVE ASIMÉTRICA REFERENCES RF DATABASE REFERENCES
CLAVE ASIMÉTRICA TOMAR POSESIÓN TO DATABASE CONTROL
CLAVE ASIMÉTRICA VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
GRUPO DE DISPONIBILIDAD ALTER AL SERVER ALTERAR CUALQUIER GRUPO DE DISPONIBILIDAD
GRUPO DE DISPONIBILIDAD CONTROL CL SERVER SERVIDOR DE CONTROL
GRUPO DE DISPONIBILIDAD TOMAR POSESIÓN TO SERVER SERVIDOR DE CONTROL
GRUPO DE DISPONIBILIDAD VER DEFINICIÓN VW SERVER VER CUALQUIER DEFINICIÓN
CERTIFICATE ALTER AL DATABASE ALTERAR CUALQUIER CERTIFICADO
CERTIFICATE CONTROL CL DATABASE CONTROL
CERTIFICATE REFERENCES RF DATABASE REFERENCES
CERTIFICATE TOMAR POSESIÓN TO DATABASE CONTROL
CERTIFICATE VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
CONTRACT ALTER AL DATABASE ALTERAR CUALQUIER CONTRATO
CONTRACT CONTROL CL DATABASE CONTROL
CONTRACT REFERENCES RF DATABASE REFERENCES
CONTRACT TOMAR POSESIÓN TO DATABASE CONTROL
CONTRACT VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
CREDENTIAL CONTROL CL SERVER SERVIDOR DE CONTROL
CREDENTIAL REFERENCES RF SERVER ALTERAR CUALQUIER CREDENCIAL
DATABASE ADMINISTRAR OPERACIONES MASIVAS DE BASE DE DATOS DABO SERVER SERVIDOR DE CONTROL
DATABASE ALTER AL SERVER ALTERAR CUALQUIER BASE DE DATOS
DATABASE ALTERAR CUALQUIER ROL DE APLICACIÓN ALAR SERVER SERVIDOR DE CONTROL
DATABASE MODIFICAR CUALQUIER ENSAMBLAJE ALAS SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER CLAVE ASIMÉTRICA ALAK SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER CERTIFICADO ALCF SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER CLAVE DE CIFRADO DE COLUMNA ALCK

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database.
SERVER SERVIDOR DE CONTROL
DATABASE MODIFICAR CUALQUIER CLAVE MAESTRA DE COLUMNA ALCM

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database.
SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER CONTRATO ALSC SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER AUDITORÍA DE BASE DE DATOS ALDA SERVER ALTERAR CUALQUIER AUDITORÍA DEL SERVIDOR
DATABASE ALTERAR CUALQUIER DISPARADOR DDL DE BASE DE DATOS ALTG SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER NOTIFICACIÓN DE EVENTO DE BASE DE DATOS ALED SERVER ALTERAR CUALQUIER NOTIFICACIÓN DE EVENTO
DATABASE ALTERAR CUALQUIER SESIÓN DE EVENTO DE BASE DE DATOS AADS SERVER Modificar cualquier sesión de eventos
DATABASE ALTERAR CUALQUIER SESIÓN DE EVENTOS DE BASE DE DATOS AÑADIR EVENTO LDAE SERVER ALTERAR CUALQUIER SESIÓN DE EVENTOS AGREGAR EVENTO
DATABASE ALTER ANY DATABASE EVENT SESSION ADD TARGET LDAT SERVER ALTERAR CUALQUIER SESIÓN DE EVENTO AÑADIR OBJETIVO
DATABASE ALTER ANY DATABASE EVENT SESSION DISABLE (Alterar cualquier sesión de eventos de base de datos - deshabilitar) DDES SERVER ALTERAR CUALQUIER SESIÓN DE EVENTOS DESACTIVAR
DATABASE ALTER SESSION DE EVENTOS DE CUALQUIER BASE DE DATOS ELIMINAR EVENTO LDDE SERVER ALTERAR CUALQUIER SESIÓN DE EVENTOS ELIMINAR EVENTO
DATABASE ALTERAR CUALQUIER SESIÓN DE EVENTOS DE BASE DE DATOS ELIMINAR OBJETIVO LDDT SERVER ALTERAR CUALQUIER SESIÓN DE EVENTO ELIMINAR DESTINO
DATABASE ALTERAR CUALQUIER SESIÓN DE EVENTO DE BASE DE DATOS HABILITAR EDES SERVER ALTERAR CUALQUIER SESIÓN DE EVENTOS HABILITAR
DATABASE ALTERAR CUALQUIER OPCIÓN DE SESIÓN DE EVENTOS DE BASE DE DATOS LDSO SERVER ALTERAR CUALQUIER OPCIÓN DE SESIÓN DE EVENTO
DATABASE 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
DATABASE ALTERAR CUALQUIER ESPACIO DE DATOS ALDS SERVER SERVIDOR DE CONTROL
DATABASE MODIFICAR CUALQUIER FUENTE DE DATOS EXTERNA AEDS SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER FORMATO DE ARCHIVO EXTERNO AEFF SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER TRABAJO EXTERNO AESJ SERVER SERVIDOR DE CONTROL
DATABASE MODIFICAR CUALQUIER LENGUAJE EXTERNO ALLA SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER BIBLIOTECA EXTERNA ALEL SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER FLUJO EXTERNO AEST SERVER SERVIDOR DE CONTROL
DATABASE MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO ALFT SERVER SERVIDOR DE CONTROL
DATABASE 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
DATABASE ALTERAR CUALQUIER TIPO DE MENSAJE ALMT SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER VINCULACIÓN DE SERVICIO REMOTO ALSB SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER ROL ALRL SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER RUTA ALRT SERVER SERVIDOR DE CONTROL
DATABASE ALTER CUALQUIER ESQUEMA ALSM SERVER SERVIDOR DE CONTROL
DATABASE 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
DATABASE 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
DATABASE Modificar cualquier servicio ALSV SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER CLAVE SIMÉTRICA ALSK SERVER SERVIDOR DE CONTROL
DATABASE ALTERAR CUALQUIER USUARIO ALUS SERVER SERVIDOR DE CONTROL
DATABASE ALTER LEDGER ALR SERVER CONTROL
DATABASE ALTERAR CONFIGURACIÓN DEL LIBRO MAYOR ALC SERVER SERVIDOR DE CONTROL
DATABASE AUTHENTICATE AUTH SERVER AUTENTICAR SERVIDOR
DATABASE RESPALDAR BASE DE DATOS BADB SERVER SERVIDOR DE CONTROL
DATABASE REGISTRO DE COPIA DE SEGURIDAD BALO SERVER SERVIDOR DE CONTROL
DATABASE CHECKPOINT CP SERVER SERVIDOR DE CONTROL
DATABASE CONNECT CO SERVER SERVIDOR DE CONTROL
DATABASE REPLICACIÓN DE CONNECT CORP SERVER SERVIDOR DE CONTROL
DATABASE CONTROL CL SERVER SERVIDOR DE CONTROL
DATABASE CREAR AGREGADO (CREATE AGGREGATE) CRAG SERVER SERVIDOR DE CONTROL
DATABASE CREAR CUALQUIER SESIÓN DE EVENTOS DE BASE DE DATOS CRDS SERVER CREA CUALQUIER SESIÓN DE EVENTO
DATABASE CREAR ENSAMBLADO CRAS SERVER SERVIDOR DE CONTROL
DATABASE CREAR CLAVE ASIMÉTRICA CRAK SERVER SERVIDOR DE CONTROL
DATABASE CREAR CERTIFICADO CRCF SERVER SERVIDOR DE CONTROL
DATABASE CREAR CONTRATO CRSC SERVER SERVIDOR DE CONTROL
DATABASE CREAR BASE DE DATOS CRDB SERVER CREAR CUALQUIER BASE DE DATOS
DATABASE CREAR BASE DE DATOS NOTIFICACIÓN DE EVENTO DDL CRED SERVER CREACIÓN DE UNA NOTIFICACIÓN DE EVENTOS DDL
DATABASE CREAR PREDETERMINADO CRDF SERVER SERVIDOR DE CONTROL
DATABASE CREAR LENGUAJE EXTERNO CRLA SERVER SERVIDOR DE CONTROL
DATABASE CREAR BIBLIOTECA EXTERNA CREL SERVER SERVIDOR DE CONTROL
DATABASE CREAR CATÁLOGO DE TEXTO COMPLETO CRFT SERVER SERVIDOR DE CONTROL
DATABASE CREATE FUNCTION CRFN SERVER SERVIDOR DE CONTROL
DATABASE CREAR TIPO DE MENSAJE CRMT SERVER SERVIDOR DE CONTROL
DATABASE CREAR PROCEDIMIENTO CRPR SERVER SERVIDOR DE CONTROL
DATABASE CREATE QUEUE CRQU SERVER SERVIDOR DE CONTROL
DATABASE CREACIÓN DE UN ENLACE DE SERVICIO REMOTO CRSB SERVER SERVIDOR DE CONTROL
DATABASE CREAR ROL CRRL SERVER SERVIDOR DE CONTROL
DATABASE Crear ruta CRRT SERVER SERVIDOR DE CONTROL
DATABASE CREAR REGLA CRRU SERVER SERVIDOR DE CONTROL
DATABASE CREAR ESQUEMA CRSM SERVER SERVIDOR DE CONTROL
DATABASE CREAR SERVICIO CRSV SERVER SERVIDOR DE CONTROL
DATABASE CREACIÓN DE UNA CLAVE SIMÉTRICA CRSK SERVER SERVIDOR DE CONTROL
DATABASE CREAR SINÓNIMO CRSN SERVER SERVIDOR DE CONTROL
DATABASE CREATE TABLE CRTB SERVER SERVIDOR DE CONTROL
DATABASE CREAR TIPO CRTY SERVER SERVIDOR DE CONTROL
DATABASE CREAR USUARIO CUSR SERVER SERVIDOR DE CONTROL
DATABASE CREAR VISTA CRVW SERVER SERVIDOR DE CONTROL
DATABASE CREAR COLECCIÓN DE ESQUEMA XML CRXS SERVER SERVIDOR DE CONTROL
DATABASE DELETE DL SERVER SERVIDOR DE CONTROL
DATABASE ELIMINAR CUALQUIER SESIÓN DE EVENTOS DE BASE DE DATOS DRDS SERVER ELIMINAR CUALQUIER SESIÓN DE EVENTOS
DATABASE Habilitar Ledger EL SERVER CONTROL
DATABASE EXECUTE EX SERVER SERVIDOR DE CONTROL
DATABASE EJECUTAR CUALQUIER PUNTO FINAL EXTERNO EAEE SERVER SERVIDOR DE CONTROL
DATABASE EJECUTAR CUALQUIER SCRIPT EXTERNO EAES

Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual).
SERVER SERVIDOR DE CONTROL
DATABASE INSERT IN SERVER SERVIDOR DE CONTROL
DATABASE Finalizar Conexión de Base de Datos KIDC

Solo se aplica a Azure SQL Database. Use ALTER ANY CONNECTION en SQL Server.
SERVER ALTERAR CUALQUIER CONEXIÓN
DATABASE REFERENCES RF SERVER SERVIDOR DE CONTROL
DATABASE SELECT SL SERVER SERVIDOR DE CONTROL
DATABASE SHOWPLAN SPLN SERVER ALTER TRACE
DATABASE SUSCRÍBETE A LAS NOTIFICACIONES DE CONSULTA SUQN SERVER SERVIDOR DE CONTROL
DATABASE TOMAR POSESIÓN TO SERVER SERVIDOR DE CONTROL
DATABASE 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
DATABASE UPDATE UP SERVER SERVIDOR DE CONTROL
DATABASE VER LA DEFINICIÓN DE CUALQUIER CLAVE DE CIFRADO PARA COLUMNAS 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
DATABASE VER LA DEFINICIÓN DE CUALQUIER CLAVE MAESTRA DE COLUMNA 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
DATABASE VER CUALQUIER CLASIFICACIÓN DE CONFIDENCIALIDAD VASC SERVER SERVIDOR DE CONTROL
DATABASE VISUALIZACIÓN DE LA DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE VCD SERVER VER CUALQUIER DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE
DATABASE VER EL ESTADO DE RENDIMIENTO DE LA BASE DE DATOS VDP SERVER VER EL ESTADO DE RENDIMIENTO DEL SERVIDOR
DATABASE VER AUDITORÍA DE SEGURIDAD DE BASE DE DATOS VDSA SERVER SERVIDOR DE CONTROL
DATABASE VER EL ESTADO DE SEGURIDAD DE LA BASE DE DATOS VDS SERVER VER ESTADO DE SEGURIDAD DEL SERVIDOR
DATABASE VER EL ESTADO DE LA BASE DE DATOS VWDS SERVER Ver estado del servidor
DATABASE VER DEFINICIÓN VW SERVER VER CUALQUIER DEFINICIÓN
DATABASE VER EL CONTENIDO DEL LIBRO DE CONTABILIDAD VLC SERVER CONTROL
DATABASE VER DEFINICIÓN DE SEGURIDAD VWS SERVER VER CUALQUIER DEFINICIÓN DE SEGURIDAD
DATABASE VER DEFINICIÓN DE RENDIMIENTO VWP SERVER VISUALIZACIÓN DE CUALQUIER DEFINICIÓN DE RENDIMIENTO
CREDENCIAL CON ÁMBITO DE BASE DE DATOS ALTER AL DATABASE CONTROL
CREDENCIAL CON ÁMBITO DE BASE DE DATOS CONTROL CL DATABASE CONTROL
CREDENCIAL CON ÁMBITO DE BASE DE DATOS REFERENCES RF DATABASE REFERENCES
CREDENCIAL CON ÁMBITO DE BASE DE DATOS TOMAR POSESIÓN TO DATABASE CONTROL
CREDENCIAL CON ÁMBITO DE BASE DE DATOS VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
ENDPOINT ALTER AL SERVER ALTERAR CUALQUIER PUNTO FINAL
ENDPOINT CONNECT CO SERVER SERVIDOR DE CONTROL
ENDPOINT CONTROL CL SERVER SERVIDOR DE CONTROL
ENDPOINT TOMAR POSESIÓN TO SERVER SERVIDOR DE CONTROL
ENDPOINT VER DEFINICIÓN VW SERVER VER CUALQUIER DEFINICIÓN
CATÁLOGO DE TEXTO COMPLETO ALTER AL DATABASE MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO
CATÁLOGO DE TEXTO COMPLETO CONTROL CL DATABASE CONTROL
CATÁLOGO DE TEXTO COMPLETO REFERENCES RF DATABASE REFERENCES
CATÁLOGO DE TEXTO COMPLETO TOMAR POSESIÓN TO DATABASE CONTROL
CATÁLOGO DE TEXTO COMPLETO VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
LISTA DE PALABRAS IRRELEVANTES DE TEXTO COMPLETO ALTER AL DATABASE MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO
LISTA DE PALABRAS IRRELEVANTES DE TEXTO COMPLETO CONTROL CL DATABASE CONTROL
LISTA DE PALABRAS IRRELEVANTES DE TEXTO COMPLETO REFERENCES RF DATABASE REFERENCES
LISTA DE PALABRAS IRRELEVANTES DE TEXTO COMPLETO TOMAR POSESIÓN TO DATABASE CONTROL
LISTA DE PALABRAS IRRELEVANTES DE TEXTO COMPLETO VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
LOGIN ALTER AL SERVER ALTERAR CUALQUIER INICIO DE SESIÓN
LOGIN CONTROL CL SERVER SERVIDOR DE CONTROL
LOGIN IMPERSONATE IM SERVER SERVIDOR DE CONTROL
LOGIN VER DEFINICIÓN VW SERVER VER CUALQUIER DEFINICIÓN
TIPO DE MENSAJE ALTER AL DATABASE ALTERAR CUALQUIER TIPO DE MENSAJE
TIPO DE MENSAJE CONTROL CL DATABASE CONTROL
TIPO DE MENSAJE REFERENCES RF DATABASE REFERENCES
TIPO DE MENSAJE TOMAR POSESIÓN TO DATABASE CONTROL
TIPO DE MENSAJE VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
OBJECT ALTER AL SCHEMA ALTER
OBJECT CONTROL CL SCHEMA CONTROL
OBJECT DELETE DL SCHEMA DELETE
OBJECT EXECUTE EX SCHEMA EXECUTE
OBJECT INSERT IN SCHEMA INSERT
OBJECT RECEIVE RC SCHEMA CONTROL
OBJECT REFERENCES RF SCHEMA REFERENCES
OBJECT SELECT SL SCHEMA SELECT
OBJECT TOMAR POSESIÓN TO SCHEMA CONTROL
OBJECT UNMASK UMSK SCHEMA UNMASK
OBJECT UPDATE UP SCHEMA UPDATE
OBJECT VISUALIZACIÓN DEL SEGUIMIENTO DE CAMBIOS VWCT SCHEMA VISUALIZACIÓN DEL SEGUIMIENTO DE CAMBIOS
OBJECT VER DEFINICIÓN VW SCHEMA VER DEFINICIÓN
VINCULACIÓN DE SERVICIO REMOTO ALTER AL DATABASE ALTERAR CUALQUIER VINCULACIÓN DE SERVICIO REMOTO
VINCULACIÓN DE SERVICIO REMOTO CONTROL CL DATABASE CONTROL
VINCULACIÓN DE SERVICIO REMOTO TOMAR POSESIÓN TO DATABASE CONTROL
VINCULACIÓN DE SERVICIO REMOTO VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
ROLE ALTER AL DATABASE ALTERAR CUALQUIER ROL
ROLE CONTROL CL DATABASE CONTROL
ROLE TOMAR POSESIÓN TO DATABASE CONTROL
ROLE VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
ROUTE ALTER AL DATABASE ALTERAR CUALQUIER RUTA
ROUTE CONTROL CL DATABASE CONTROL
ROUTE TOMAR POSESIÓN TO DATABASE CONTROL
ROUTE VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
SCHEMA ALTER AL DATABASE ALTER CUALQUIER ESQUEMA
SCHEMA CONTROL CL DATABASE CONTROL
SCHEMA CREAR SECUENCIA CRSO DATABASE CONTROL
SCHEMA DELETE DL DATABASE DELETE
SCHEMA EXECUTE EX DATABASE EXECUTE
SCHEMA INSERT IN DATABASE INSERT
SCHEMA REFERENCES RF DATABASE REFERENCES
SCHEMA SELECT SL DATABASE SELECT
SCHEMA TOMAR POSESIÓN TO DATABASE CONTROL
SCHEMA UNMASK UMSK DATABASE UNMASK
SCHEMA UPDATE UP DATABASE UPDATE
SCHEMA VISUALIZACIÓN DEL SEGUIMIENTO DE CAMBIOS VWCT DATABASE VISUALIZACIÓN DEL SEGUIMIENTO DE CAMBIOS
SCHEMA VER DEFINICIÓN VW DATABASE 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 REFERENCES RF SERVER REFERENCES
BUSCAR LISTA DE PROPIEDADES TOMAR POSESIÓN TO SERVER CONTROL
BUSCAR LISTA DE PROPIEDADES VER DEFINICIÓN VW SERVER VER DEFINICIÓN
SERVER ADMINISTRACIÓN DE OPERACIONES MASIVAS ADBO No aplicable No aplicable
SERVER ALTERAR CUALQUIER GRUPO DE DISPONIBILIDAD ALAG No aplicable No aplicable
SERVER ALTERAR CUALQUIER CONEXIÓN ALCO No aplicable No aplicable
SERVER ALTERAR CUALQUIER CREDENCIAL 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 ALTERAR CUALQUIER SESIÓN DE EVENTOS DESACTIVAR DES No aplicable No aplicable
SERVER ALTERAR CUALQUIER SESIÓN DE EVENTOS ELIMINAR EVENTO LSDE No aplicable No aplicable
SERVER ALTERAR CUALQUIER SESIÓN DE EVENTO ELIMINAR DESTINO LSDT No aplicable No aplicable
SERVER ALTERAR CUALQUIER SESIÓN DE EVENTOS HABILITAR 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 ALTERAR CUALQUIER INICIO DE SESIÓN ALLG No aplicable No aplicable
SERVER ALTERAR CUALQUIER AUDITORÍA DEL SERVIDOR ALAA No aplicable No aplicable
SERVER ALTERAR CUALQUIER ROL DE SERVIDOR ALSR No aplicable No aplicable
SERVER MODIFICAR RECURSOS ALRS No aplicable No aplicable
SERVER ALTERAR ESTADO DEL SERVIDOR ALSS No aplicable No aplicable
SERVER MODIFICAR CONFIGURACIONES ALST No aplicable No aplicable
SERVER ALTER TRACE ALTR No aplicable No aplicable
SERVER AUTENTICAR SERVIDOR AUTH No aplicable No aplicable
SERVER CONECTAR CUALQUIER BASE DE DATOS CADB No aplicable No aplicable
SERVER Conectar a 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 CREAR PUNTO FINAL CRHE No aplicable No aplicable
SERVER CREAR ROL DE SERVIDOR (CREATE SERVER ROLE) CRSR No aplicable No aplicable
SERVER NOTIFICACIÓN DE EVENTO DE SEGUIMIENTO CRTE No aplicable No aplicable
SERVER ENSAMBLADO DE ACCESO EXTERNO XA No aplicable No aplicable
SERVER SUPLANTAR CUALQUIER CREDENCIAL DE ACCESO IAL No aplicable No aplicable
SERVER SELECCIONAR TODOS LOS ELEMENTOS PROTEGIBLES DE USUARIO SUS No aplicable No aplicable
SERVER SHUTDOWN SHDN No aplicable No aplicable
SERVER MONTAJE INSEGURO 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 TOMAR POSESIÓN TO SERVER SERVIDOR DE CONTROL
ROL DE SERVIDOR VER DEFINICIÓN VW SERVER VER CUALQUIER DEFINICIÓN
SERVICE ALTER AL DATABASE Modificar cualquier servicio
SERVICE CONTROL CL DATABASE CONTROL
SERVICE SEND SN DATABASE CONTROL
SERVICE TOMAR POSESIÓN TO DATABASE CONTROL
SERVICE VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
CLAVE SIMÉTRICA ALTER AL DATABASE ALTERAR CUALQUIER CLAVE SIMÉTRICA
CLAVE SIMÉTRICA CONTROL CL DATABASE CONTROL
CLAVE SIMÉTRICA REFERENCES RF DATABASE REFERENCES
CLAVE SIMÉTRICA TOMAR POSESIÓN TO DATABASE CONTROL
CLAVE SIMÉTRICA VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
TYPE CONTROL CL SCHEMA CONTROL
TYPE EXECUTE EX SCHEMA EXECUTE
TYPE REFERENCES RF SCHEMA REFERENCES
TYPE TOMAR POSESIÓN TO SCHEMA CONTROL
TYPE VER DEFINICIÓN VW SCHEMA VER DEFINICIÓN
USER ALTER AL DATABASE ALTERAR CUALQUIER USUARIO
USER CONTROL CL DATABASE CONTROL
USER IMPERSONATE IM DATABASE CONTROL
USER VER DEFINICIÓN VW DATABASE VER DEFINICIÓN
COLECCIÓN DE ESQUEMAS XML ALTER AL SCHEMA ALTER
COLECCIÓN DE ESQUEMAS XML CONTROL CL SCHEMA CONTROL
COLECCIÓN DE ESQUEMAS XML EXECUTE EX SCHEMA EXECUTE
COLECCIÓN DE ESQUEMAS XML REFERENCES RF SCHEMA REFERENCES
COLECCIÓN DE ESQUEMAS XML TOMAR POSESIÓN TO SCHEMA CONTROL
COLECCIÓN DE ESQUEMAS XML VER DEFINICIÓN VW SCHEMA 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
  • ALTERAR CUALQUIER SESIÓN DE EVENTOS ELIMINAR EVENTO
  • ALTERAR CUALQUIER SESIÓN DE EVENTOS HABILITAR
  • ALTERAR CUALQUIER SESIÓN DE EVENTOS DESACTIVAR
  • ALTERAR CUALQUIER SESIÓN DE EVENTO AÑADIR OBJETIVO
  • ALTERAR CUALQUIER SESIÓN DE EVENTO ELIMINAR DESTINO

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

Nivel de base de datos:

  • CREAR CUALQUIER SESIÓN DE EVENTOS DE BASE DE DATOS
  • ELIMINAR CUALQUIER SESIÓN DE EVENTOS DE BASE DE DATOS
  • ALTERAR CUALQUIER OPCIÓN DE SESIÓN DE EVENTOS DE BASE DE DATOS
  • ALTERAR CUALQUIER SESIÓN DE EVENTOS DE BASE DE DATOS AÑADIR EVENTO
  • ALTER SESSION DE EVENTOS DE CUALQUIER BASE DE DATOS ELIMINAR EVENTO
  • ALTERAR CUALQUIER SESIÓN DE EVENTO DE BASE DE DATOS HABILITAR
  • ALTER ANY DATABASE EVENT SESSION DISABLE (Alterar cualquier sesión de eventos de base de datos - deshabilitar)
  • ALTER ANY DATABASE EVENT SESSION ADD TARGET
  • ALTERAR CUALQUIER SESIÓN DE EVENTOS DE BASE DE DATOS ELIMINAR OBJETIVO

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

  • CONTROL (CREDENCIAL)
  • CREATE LOGIN
  • CREAR USUARIO
  • REFERENCIAS (CREDENCIALES)
  • DESENMASCARAR (OBJECTO)
  • UNMASK (ESQUEMA)
  • VER CUALQUIER REGISTRO DE ERRORES
  • VER AUDITORÍA DE SEGURIDAD DEL SERVIDOR
  • VER AUDITORÍA DE SEGURIDAD DE BASE DE DATOS

Permisos de libro de contabilidad

  • ALTER LEDGER
  • ALTERAR CONFIGURACIÓN DEL LIBRO MAYOR
  • Habilitar Ledger
  • VER EL CONTENIDO DEL LIBRO DE CONTABILIDAD

Otros permisos de base de datos

  • ALTERAR CUALQUIER TRABAJO EXTERNO
  • ALTERAR CUALQUIER FLUJO EXTERNO
  • EJECUTAR CUALQUIER PUNTO FINAL EXTERNO

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.

Note

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:

    • 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.

  • Área de permisos

    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.

    Note

    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.

Examples

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