REVOKE (Transact-SQL)REVOKE (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database síAzure Synapse Analytics (SQL DW) síAlmacenamiento de datos paralelos APPLIES TO: YesSQL Server YesAzure SQL Database YesAzure Synapse Analytics (SQL DW) YesParallel Data Warehouse

Quita un permiso concedido o denegado previamente.Removes a previously granted or denied permission.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

-- Syntax for SQL Server and Azure SQL Database  
  
-- Simplified syntax for REVOKE  
REVOKE [ GRANT OPTION FOR ]  
      {   
        [ ALL [ PRIVILEGES ] ]  
        |  
                permission [ ( column [ ,...n ] ) ] [ ,...n ]  
      }  
      [ ON [ class :: ] securable ]   
      { TO | FROM } principal [ ,...n ]   
      [ CASCADE] [ AS principal ]  
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  
  
REVOKE   
    <permission> [ ,...n ]  
    [ ON [ <class_type> :: ] securable ]   
    [ FROM | TO ] principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
<permission> ::=  
{ see the tables below }  
  
<class_type> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

ArgumentosArguments

GRANT OPTION FORGRANT OPTION FOR
Indica que se revocará la capacidad de conceder el permiso especificado.Indicates that the ability to grant the specified permission will be revoked. Se requiere cuando se utiliza el argumento CASCADE.This is required when you are using the CASCADE argument.

Importante

Si la entidad de seguridad dispone del permiso especificado sin la opción GRANT, se revocará el permiso.If the principal has the specified permission without the GRANT option, the permission itself will be revoked.

ALLALL
Válido para SQL Server 2008SQL Server 2008 y versiones posteriores.Applies to: SQL Server 2008SQL Server 2008 and later

Esta opción no revoca todos los permisos posibles.This option does not revoke all possible permissions. Revocar ALL es equivalente a revocar los siguientes permisos.Revoking ALL is equivalent to revoking the following permissions.

  • Si el elemento protegible 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.If the securable is a database, ALL means BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, and CREATE VIEW.

  • Si el elemento protegible es una función escalar, ALL significa EXECUTE y REFERENCES.If the securable is a scalar function, ALL means EXECUTE and REFERENCES.

  • Si el elemento protegible es una función con valores de tabla, ALL significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.If the securable is a table-valued function, ALL means DELETE, INSERT, REFERENCES, SELECT, and UPDATE.

  • Si el elemento protegible es un procedimiento almacenado, ALL significa EXECUTE.If the securable is a stored procedure, ALL means EXECUTE.

  • Si el elemento protegible es una tabla, ALL significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.If the securable is a table, ALL means DELETE, INSERT, REFERENCES, SELECT, and UPDATE.

  • Si el elemento protegible es una vista, ALL significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.If the securable is a view, ALL means DELETE, INSERT, REFERENCES, SELECT, and UPDATE.

Nota

La sintaxis de REVOKE ALL ha quedado desusada.The REVOKE ALL syntax is deprecated. Esta característica está en modo de mantenimiento y es posible que no se incluya en una versión futura de Microsoft SQL Server.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. En su lugar, revoque permisos concretos.Revoke specific permissions instead.

PRIVILEGESPRIVILEGES
Incluido por compatibilidad con ISO.Included for ISO compliance. No cambia el comportamiento de ALL.Does not change the behavior of ALL.

permissionpermission
Es el nombre de un permiso.Is the name of a permission. Las asignaciones válidas de permisos a elementos protegibles se describen en los temas de la sección Sintaxis específica de los elementos protegibles, más adelante en este tema.The valid mappings of permissions to securables are described in the topics listed in Securable-specific Syntax later in this topic.

columncolumn
Especifica el nombre de una columna de una tabla en la que se van a revocar los permisos.Specifies the name of a column in a table on which permissions are being revoked. Es obligatorio utilizar paréntesis.The parentheses are required.

classclass
Especifica la clase del elemento protegible para el que se va a revocar el permiso.Specifies the class of the securable on which the permission is being revoked. El calificador de ámbito :: es obligatorio.The scope qualifier :: is required.

securablesecurable
Especifica el elemento protegible para el que se va a revocar el permiso.Specifies the securable on which the permission is being revoked.

TO | FROM principalTO | FROM principal
Es el nombre de una entidad de seguridad.Is the name of a principal. Las entidades de seguridad de las que se pueden revocar permisos para un elemento protegible varían según el elemento.The principals from which permissions on a securable can be revoked vary, depending on the securable. Para más información sobre las combinaciones válidas, vea los temas que se muestran en Sintaxis específica de los elementos protegibles más adelante en este tema.For more information about valid combinations, see the topics listed in Securable-specific Syntax later in this topic.

CASCADECASCADE
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.Indicates that the permission that is being revoked is also revoked from other principals to which it has been granted by this principal. Cuando se utiliza el argumento CASCADE, también se debe incluir el argumento GRANT OPTION FOR.When you are using the CASCADE argument, you must also include the GRANT OPTION FOR argument.

Precaución

Una revocación en cascada de un permiso concedido WITH GRANT OPTION revocará tanto GRANT como DENY de dicho permiso.A cascaded revocation of a permission granted WITH GRANT OPTION will revoke both GRANT and DENY of that permission.

AS principalAS principal
Use la cláusula AS principal para indicar que se va a revocar un permiso que ha sido concedido por una entidad de seguridad distinta de usted.Use the AS principal clause to indicate that you are revoking a permission that was granted by a principal other than you. Por ejemplo, imagine que la usuaria María tiene el valor principal_id 12 y el usuario Raúl tiene el valor principal_id 15.For example, presume that user Mary is principal_id 12 and user Raul is principal_id 15. Tanto María como Raúl conceden el mismo permiso a un usuario llamado Carlos.Both Mary and Raul grant a user named Steven the same permission. La tabla sys.database_permissions indicará los permisos dos veces, pero cada uno tendrá un valor de grantor_principal_id diferente.The sys.database_permissions table will indicate the permissions twice but they will each have a different grantor_principal_id value. María podría revocar el permiso mediante la cláusula AS RAUL para quitar la concesión del permiso de Raúl.Mary could revoke the permission using the AS RAUL clause to remove Raul's grant of the permission.

El uso de AS en esta instrucción no implica la capacidad de suplantar a otro usuario.The use of AS in this statement does not imply the ability to impersonate another user.

ObservacionesRemarks

La sintaxis completa de la instrucción REVOKE es compleja.The full syntax of the REVOKE statement is complex. El diagrama de sintaxis anterior se ha simplificado para concentrar la atención en su estructura.The syntax diagram above was simplified to draw attention to its structure. La sintaxis completa para revocar permisos en elementos protegibles específicos se describe en los temas que se muestran en Sintaxis específica de los elementos protegibles más adelante en este tema.Complete syntax for revoking permissions on specific securables is described in the topics listed in Securable-specific Syntax later in this topic.

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.The REVOKE statement can be used to remove granted permissions, and the DENY statement can be used to prevent a principal from gaining a specific permission through a GRANT.

La concesión de un permiso quita DENY o REVOKE de ese permiso para el elemento protegible especificado.Granting a permission removes DENY or REVOKE of that permission on the specified securable. Si se deniega el mismo permiso en un ámbito superior que contiene el elemento protegible, DENY tiene prioridad.If the same permission is denied at a higher scope that contains the securable, the DENY takes precedence. Pero tenga en cuenta que revocar el permiso concedido en un ámbito superior no tiene prioridad.However, revoking the granted permission at a higher scope does not take precedence.

Precaución

Un permiso DENY de nivel de tabla no tiene prioridad sobre uno GRANT de nivel de columna.A table-level DENY does not take precedence over a column-level GRANT. Se ha conservado esta incoherencia en la jerarquía de permisos para mantener la compatibilidad con versiones anteriores.This inconsistency in the permissions hierarchy has been preserved for backward compatibility. Se eliminará en una próxima versión.It will be removed in a future release.

El procedimiento almacenado del sistema sp_helprotect informa de los permisos sobre un elemento protegible en el nivel de base de datos.The sp_helprotect system stored procedure reports permissions on a database-level securable

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.The REVOKE statement will fail if CASCADE is not specified when you are revoking a permission from a principal that was granted that permission with GRANT OPTION specified.

PermisosPermissions

Las entidades de seguridad con el permiso CONTROL para un elemento protegible pueden revocar permisos para ese elemento.Principals with CONTROL permission on a securable can revoke permission on that securable. Los propietarios de objetos pueden revocar permisos en los objetos que poseen.Object owners can revoke permissions on the objects they own.

Los receptores del permiso CONTROL SERVER, como los miembros del rol fijo de servidor sysadmin, pueden revocar los permisos en cualquier elemento protegible en el servidor.Grantees of CONTROL SERVER permission, such as members of the sysadmin fixed server role, can revoke any permission on any securable in the server. Los receptores del permiso CONTROL en una base de datos, como los miembros del rol fijo de base de datos db_owner, pueden revocar los permisos en cualquier elemento protegible en la base de datos.Grantees of CONTROL permission on a database, such as members of the db_owner fixed database role, can revoke any permission on any securable in the database. Los receptores del permiso CONTROL en un esquema pueden revocar los permisos en cualquier objeto del esquema.Grantees of CONTROL permission on a schema can revoke any permission on any object within the schema.

Sintaxis específica de los elementos protegiblesSecurable-specific Syntax

En esta tabla se enumeran los elementos protegibles y los temas donde se describe la sintaxis específica de los mismos.The following table lists the securables and the topics that describe the securable-specific syntax.

Elemento protegibleSecurable TemaTopic
Rol de aplicaciónApplication Role REVOKE (permisos de entidad de seguridad de base de datos de Transact-SQL)REVOKE Database Principal Permissions (Transact-SQL)
AssemblyAssembly REVOKE (permisos de ensamblado de Transact-SQL)REVOKE Assembly Permissions (Transact-SQL)
Clave asimétricaAsymmetric Key REVOKE (permisos de clave asimétrica de Transact-SQL)REVOKE Asymmetric Key Permissions (Transact-SQL)
Grupo de disponibilidadAvailability Group REVOKE Availability Group Permissions (Transact-SQL) [REVOKE (permisos de grupos de disponibilidad de Transact-SQL)]REVOKE Availability Group Permissions (Transact-SQL)
CertificadoCertificate REVOKE (permisos de certificado de Transact-SQL)REVOKE Certificate Permissions (Transact-SQL)
ContratoContract REVOKE (permisos de Service Broker de Transact-SQL)REVOKE Service Broker Permissions (Transact-SQL)
Base de datosDatabase REVOKE (permisos de base de datos de Transact-SQL)REVOKE Database Permissions (Transact-SQL)
Punto de conexiónEndpoint REVOKE (permisos de punto de conexión de Transact-SQL)REVOKE Endpoint Permissions (Transact-SQL)
Credencial de ámbito de base de datosDatabase Scoped Credential REVOKE (credencial de ámbito de base de datos de Transact-SQL)REVOKE Database Scoped Credential (Transact-SQL)
Catálogo de texto completoFull-text Catalog REVOKE (permisos de texto completo de Transact-SQL)REVOKE Full-Text Permissions (Transact-SQL)
Lista de palabras irrelevantes de texto completoFull-Text Stoplist REVOKE (permisos de texto completo de Transact-SQL)REVOKE Full-Text Permissions (Transact-SQL)
FunciónFunction REVOKE (permisos de objeto de Transact-SQL)REVOKE Object Permissions (Transact-SQL)
Inicio de sesiónLogin REVOKE (permisos de entidad de seguridad de servidor de Transact-SQL)REVOKE Server Principal Permissions (Transact-SQL)
Tipo de mensajeMessage Type REVOKE (permisos de Service Broker de Transact-SQL)REVOKE Service Broker Permissions (Transact-SQL)
ObjectObject REVOKE (permisos de objeto de Transact-SQL)REVOKE Object Permissions (Transact-SQL)
ColaQueue REVOKE (permisos de objeto de Transact-SQL)REVOKE Object Permissions (Transact-SQL)
Enlace de servicio remotoRemote Service Binding REVOKE (permisos de Service Broker de Transact-SQL)REVOKE Service Broker Permissions (Transact-SQL)
RoleRole REVOKE (permisos de entidad de seguridad de base de datos de Transact-SQL)REVOKE Database Principal Permissions (Transact-SQL)
EnrutarRoute REVOKE (permisos de Service Broker de Transact-SQL)REVOKE Service Broker Permissions (Transact-SQL)
SchemaSchema REVOKE (permisos de esquema de Transact-SQL)REVOKE Schema Permissions (Transact-SQL)
Lista de propiedades de búsquedaSearch Property List REVOKE (permisos de la lista de propiedades de búsqueda de Transact-SQL)REVOKE Search Property List Permissions (Transact-SQL)
ServerServer REVOKE Server Permissions (Transact-SQL) [REVOKE (permisos de servidor de Transact-SQL)]REVOKE Server Permissions (Transact-SQL)
ServicioService REVOKE (permisos de Service Broker de Transact-SQL)REVOKE Service Broker Permissions (Transact-SQL)
Procedimiento almacenadoStored Procedure REVOKE (permisos de objeto de Transact-SQL)REVOKE Object Permissions (Transact-SQL)
Clave simétricaSymmetric Key REVOKE (permisos de clave simétrica de Transact-SQL)REVOKE Symmetric Key Permissions (Transact-SQL)
Synonym (Sinónimo)Synonym REVOKE (permisos de objeto de Transact-SQL)REVOKE Object Permissions (Transact-SQL)
Objetos de sistemaSystem Objects REVOKE (permisos de objeto de sistema de Transact-SQL)REVOKE System Object Permissions (Transact-SQL)
TablaTable REVOKE (permisos de objeto de Transact-SQL)REVOKE Object Permissions (Transact-SQL)
TipoType REVOKE (permisos de tipo de Transact-SQL)REVOKE Type Permissions (Transact-SQL)
UsuarioUser REVOKE (permisos de entidad de seguridad de base de datos de Transact-SQL)REVOKE Database Principal Permissions (Transact-SQL)
VerView REVOKE (permisos de objeto de Transact-SQL)REVOKE Object Permissions (Transact-SQL)
Colección de esquemas XMLXML Schema Collection REVOKE (permisos de colección de esquemas XML de Transact-SQL)REVOKE XML Schema Collection Permissions (Transact-SQL)

Consulte tambiénSee Also

Jerarquía de permisos (motor de base de datos) Permissions Hierarchy (Database Engine)
DENY (Transact-SQL) DENY (Transact-SQL)
GRANT (Transact-SQL) GRANT (Transact-SQL)
sp_addlogin (Transact-SQL) sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL) sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL) sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL) sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL) sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)sp_helpuser (Transact-SQL)