REVOKE (Transact-SQL)

Quita un permiso concedido o denegado previamente.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

Simplified syntax for REVOKE
REVOKE [ GRANT OPTION FOR ]
      { 
        [ ALL [ PRIVILEGES ] ]
        |
                permission [ ( column [ ,...n ] ) ] [ ,...n ]
      }
      [ ON [ class :: ] securable ] 
      { TO | FROM } principal [ ,...n ] 
      [ CASCADE] [ AS principal ]

Argumentos

  • GRANT OPTION FOR
    Indica que se revocará la capacidad de conceder el permiso especificado. Se requiere cuando se utiliza el argumento CASCADE.

    ms187728.note(es-es,SQL.90).gifImportante:
    Si la entidad de seguridad dispone del permiso especificado sin la opción GRANT, se revocará el permiso.
  • ALL
    Esta opción no revoca todos los permisos posibles. Revocar ALL es equivalente a revocar los siguientes permisos.

    • Si el asegurable es una base de datos, ALL significa BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE y CREATE VIEW.
    • Si el asegurable es una función escalar, ALL significa EXECUTE y REFERENCES.
    • Si el asegurable es una función con valores de tabla, ALL significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.
    • Si el asegurable es un procedimiento almacenado, ALL significa EXECUTE.
    • Si el asegurable es una tabla, ALL significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.
    • Si el asegurable es una vista, ALL significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.
  • PRIVILEGES
    Incluido por compatibilidad con SQL-92. No cambia el comportamiento de ALL.
  • permission
    Es el nombre de un permiso. Las asignaciones válidas de permisos a asegurables se describen en los temas de la sección Sintaxis específica de los asegurables, más adelante en este tema.
  • column
    Especifica el nombre de una columna de una tabla en la que se van a revocar los permisos. Es preciso utilizar los paréntesis.
  • class
    Especifica la clase del asegurable en el que se va a revocar el permiso. Se requiere el calificador de ámbito ::.
  • securable
    Especifica el asegurable en el que se va a revocar el permiso.
  • TO | FROM principal
    Es el nombre de una entidad de seguridad. Las entidades de seguridad de las que se pueden revocar permisos en un asegurable varían según el asegurable. Para obtener más información acerca de las combinaciones válidas, vea los temas que se muestran en Sintaxis específica de los asegurables más adelante en este tema.
  • CASCADE
    Indica que el permiso que se va a revocar también se revocará de otras entidades de seguridad a las que se han concedido permisos por esta entidad de seguridad. Cuando se utiliza el argumento CASCADE, también se debe incluir el argumento GRANT OPTION FOR.

    ms187728.Caution(es-es,SQL.90).gifAdvertencia:
    Una revocación en cascada de un permiso concedido WITH GRANT OPTION revocará tanto GRANT como DENY de dicho permiso.
  • AS principal
    Especifica una entidad de seguridad de la que la entidad de seguridad que ejecuta esta consulta deriva su derecho de revocar el permiso.

Notas

La sintaxis completa de la instrucción REVOKE es compleja. El diagrama anterior se ha simplificado para concentrar la atención en su estructura. La sintaxis completa para revocar permisos en asegurables específicos se describe en los temas que se muestran en Sintaxis específica de los asegurables más adelante en este tema.

Se puede utilizar la instrucción REVOKE para retirar permisos concedidos y la instrucción DENY para evitar que una entidad de seguridad obtenga un permiso específico mediante una instrucción GRANT.

La concesión de un permiso elimina DENY o REVOKE de ese permiso en el asegurable especificado. Si se deniega el mismo permiso en un ámbito superior que contiene el asegurable, DENY tiene prioridad. No obstante, revocar el permiso concedido en un ámbito superior no tiene prioridad.

ms187728.Caution(es-es,SQL.90).gifAdvertencia:
En SQL Server 2005 una instrucción DENY en el nivel de tabla no tiene prioridad sobre GRANT en el nivel de columna. Esta incoherencia en la jerarquía de permisos se ha mantenido por compatibilidad con versiones anteriores. Este comportamiento se eliminará en una versión futura.

El procedimiento almacenado del sistema sp_helprotect informa de los permisos sobre un asegurable en el nivel de base de datos.

La instrucción REVOKE generará errores si no se especifica CASCADE al revocar un permiso de una entidad de seguridad que tenía concedido ese permiso con GRANT OPTION especificada.

Permisos

Las entidades de seguridad con el permiso CONTROL en un asegurable pueden revocar permisos en ese asegurable. Los propietarios de objetos pueden revocar permisos en los objetos que poseen.

Los receptores del permiso CONTROL SERVER, como los miembros de la función fija de servidor sysadmin, pueden revocar los permisos en cualquier asegurable en el servidor. Los receptores del permiso CONTROL en una base de datos, como los miembros de la función fija de base de datos db_owner, pueden revocar los permisos en cualquier asegurable en la base de datos. Los receptores del permiso CONTROL en un esquema pueden revocar los permisos en cualquier objeto del esquema.

Sintaxis específica de los asegurables

En la siguiente tabla se enumeran los asegurables y los temas donde se describe la sintaxis específica de los asegurables.

Asegurable Tema

Función de aplicación

REVOKE (permisos de entidad de seguridad de base de datos de Transact-SQL)

Ensamblado

REVOKE (permisos de ensamblado de Transact-SQL)

Clave asimétrica

REVOKE (permisos de clave asimétrica de Transact-SQL)

Certificado

REVOKE (permisos de certificado de Transact-SQL)

Contrato

REVOKE (permisos de Service Broker de Transact-SQL)

Base de datos

REVOKE (permisos de base de datos de Transact-SQL)

Extremo

REVOKE (permisos de extremo de Transact-SQL)

Catálogo de texto

REVOKE (permisos del catálogo de texto Transact-SQL)

Función

REVOKE (permisos de objeto de Transact-SQL)

Inicio de sesión

REVOKE (permisos de entidad de seguridad de servidor de Transact-SQL)

Tipo de mensaje

REVOKE (permisos de Service Broker de Transact-SQL)

Objeto

REVOKE (permisos de objeto de Transact-SQL)

Cola

REVOKE (permisos de objeto de Transact-SQL)

Enlace de servicio remoto

REVOKE (permisos de Service Broker de Transact-SQL)

Función

REVOKE (permisos de entidad de seguridad de base de datos de Transact-SQL)

Ruta

REVOKE (permisos de Service Broker de Transact-SQL)

Esquema

REVOKE (permisos de esquema de Transact-SQL)

Servidor

REVOKE (permisos de servidor de Transact-SQL)

Servicio

REVOKE (permisos de Service Broker de Transact-SQL)

Procedimiento almacenado

REVOKE (permisos de objeto de Transact-SQL)

Clave simétrica

REVOKE (permisos de clave simétrica de Transact-SQL)

Sinónimo

REVOKE (permisos de objeto de Transact-SQL)

Objetos de sistema

REVOKE (permisos de objeto de sistema de Transact-SQL)

Tabla

REVOKE (permisos de objeto de Transact-SQL)

Tipo

REVOKE (permisos de tipo de Transact-SQL)

Usuario

REVOKE (permisos de entidad de seguridad de base de datos de Transact-SQL)

Vista

REVOKE (permisos de objeto de Transact-SQL)

Colección de esquemas XML

REVOKE (permisos de colección de esquemas XML de Transact-SQL)

Vea también

Referencia

DENY (Transact-SQL)
GRANT (Transact-SQL)
sp_addgroup (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changegroup (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropgroup (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helpgroup (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)

Otros recursos

Jerarquía de permisos

Ayuda e información

Obtener ayuda sobre SQL Server 2005