REVOKE (Transact-SQL)
Quita un permiso concedido o denegado previamente.
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.Importante 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 elemento que puede protegerse 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 elemento que puede protegerse es una función escalar, ALL significa EXECUTE y REFERENCES.
Si el elemento que puede protegerse es una función con valores de tabla, ALL significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.
Si el elemento que puede protegerse es un procedimiento almacenado, ALL significa EXECUTE.
Si el elemento que puede protegerse es una tabla, ALL significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.
Si el elemento que puede protegerse es una vista, ALL significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.
[!NOTA]
La sintaxis de REVOKE ALL ha quedado obsoleta. Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. En su lugar, revoque permisos concretos.
PRIVILEGES
Incluido por compatibilidad con ISO. No cambia el comportamiento de ALL.permission
Es el nombre de un permiso. Las asignaciones válidas de permisos a elementos que pueden protegerse se describen en los temas de la sección Sintaxis específica de los elementos que pueden protegerse, 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 elemento que puede protegerse en el que se va a revocar el permiso. Se requiere el calificador de ámbito ::.securable
Especifica el elemento que puede protegerse 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 elemento que puede protegerse varían según el elemento. Para obtener más información acerca de las combinaciones válidas, vea los temas que se muestran en Sintaxis específica de los elementos que pueden protegerse 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.Advertencia 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 elementos que pueden protegerse específicos se describe en los temas que se muestran en Sintaxis específica de los elementos que pueden protegerse 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 quita DENY o REVOKE de ese permiso en el elemento que puede protegerse especificado. Si se deniega el mismo permiso en un ámbito superior que contiene el elemento que puede protegerse, DENY tiene prioridad. No obstante, revocar el permiso concedido en un ámbito superior no tiene prioridad.
Advertencia |
---|
Un permiso DENY de nivel de tabla no tiene prioridad sobre uno GRANT de nivel de columna. Se ha conservado esta incoherencia en la jerarquía de permisos para mantener la compatibilidad con versiones anteriores. Se quitará en una versión futura. |
El procedimiento almacenado del sistema sp_helprotect informa de los permisos sobre un elemento que puede protegerse 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 elemento que puede protegerse pueden revocar permisos en ese elemento. 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 elemento que puede protegerse 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 elemento que puede protegerse 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 elementos que pueden protegerse
En la siguiente tabla se enumeran los elementos que pueden protegerse y los temas donde se describe la sintaxis específica de los mismos.
Elemento que puede protegerse |
Tema |
---|---|
Función de aplicación |
REVOKE (permisos de entidad de seguridad de base de datos de Transact-SQL) |
Ensamblado |
|
Clave asimétrica |
|
Certificado |
|
Contrato |
|
Base de datos |
|
Extremo |
|
Catálogo de texto completo |
|
Lista de palabras irrelevantes de texto completo |
|
Función |
|
Inicio de sesión |
REVOKE (permisos de entidad de seguridad de servidor de Transact-SQL) |
Tipo de mensaje |
|
Objeto |
|
Cola |
|
Enlace de servicio remoto |
|
Función |
REVOKE (permisos de entidad de seguridad de base de datos de Transact-SQL) |
Ruta |
|
Esquema |
|
Servidor |
|
Servicio |
|
Procedimiento almacenado |
|
Clave simétrica |
|
Sinónimo |
|
Objetos de sistema |
|
Tabla |
|
Tipo |
|
Usuario |
REVOKE (permisos de entidad de seguridad de base de datos de Transact-SQL) |
Vista |
|
Colección de esquemas XML |
REVOKE (permisos de colección de esquemas XML de Transact-SQL) |