REVOKE (permisos de objeto de Transact-SQL)REVOKE Object Permissions (Transact-SQL)

SE APLICA A: síSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noAlmacenamiento de datos paralelos APPLIES TO: YesSQL Server NoAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Revoca permisos en una tabla, vista, función con valores de tabla, procedimiento almacenado, procedimiento extendido almacenado, función escalar, función de agregado, cola de servicio o sinónimo.Revokes permissions on a table, view, table-valued function, stored procedure, extended stored procedure, scalar function, aggregate function, service queue, or synonym.

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

SintaxisSyntax

  
REVOKE [ GRANT OPTION FOR ] <permission> [ ,...n ] ON   
    [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]  
        { FROM | TO } <database_principal> [ ,...n ]   
    [ CASCADE ]  
    [ AS <database_principal> ]  
  
<permission> ::=  
    ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]  
  
<database_principal> ::=   
        Database_user   
    | Database_role   
    | Application_role   
    | Database_user_mapped_to_Windows_User   
    | Database_user_mapped_to_Windows_Group   
    | Database_user_mapped_to_certificate   
    | Database_user_mapped_to_asymmetric_key   
    | Database_user_with_no_login      

ArgumentosArguments

permissionpermission
Especifica un permiso que se puede revocar en un objeto contenido en un esquema.Specifies a permission that can be revoked on a schema-contained object. Para obtener una lista de permisos, vea la sección Comentarios que se muestra posteriormente en este tema.For a list of the permissions, see the Remarks section later in this topic.

ALLALL
Si revoca ALL no se revocan todos los permisos posibles.Revoking ALL does not revoke all possible permissions. Revocar ALL es equivalente a revocar todos los permisos ANSIANSI-92 aplicables al objeto especificado.Revoking ALL is equivalent to revoking all ANSIANSI-92 permissions applicable to the specified object. El significado de ALL varía de la siguiente forma:The meaning of ALL varies as follows:

Permisos de función escalar: EXECUTE, REFERENCES.Scalar function permissions: EXECUTE, REFERENCES.

Permisos de función con valores de tabla: DELETE, INSERT, REFERENCES, SELECT, UPDATE.Table-valued function permissions: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Permisos de procedimiento almacenado: EXECUTE.Stored Procedure permissions: EXECUTE.

Permisos de tabla: DELETE, INSERT, REFERENCES, SELECT, UPDATE.Table permissions: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Permisos de vista: DELETE, INSERT, REFERENCES, SELECT, UPDATE.View permissions: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

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

columncolumn
Especifica el nombre de una columna en una tabla, vista o función con valores de tabla en la que se revoca el permiso.Specifies the name of a column in a table, view, or table-valued function on which the permission is being revoked. Los paréntesis ( ) son obligatorios.The parentheses ( ) are required. Solo es posible denegar los permisos SELECT, REFERENCES y UPDATE para una columna.Only SELECT, REFERENCES, and UPDATE permissions can be denied on a column. Se puede especificar column en la cláusula de permisos o después del nombre del elemento protegible.column can be specified in the permissions clause or after the securable name.

ON [ OBJECT :: ] [ schema_name ] .ON [ OBJECT :: ] [ schema_name ] . object_nameobject_name
Especifica el objeto en el que se va a revocar el permiso.Specifies the object on which the permission is being revoked. La frase OBJECT es opcional si se especifica schema_name.The OBJECT phrase is optional if schema_name is specified. Si se utiliza la frase OBJECT, se requiere el calificador de ámbito (::).If the OBJECT phrase is used, the scope qualifier (::) is required. Si no se especifica schema_name, se usa el esquema predeterminado.If schema_name is not specified, the default schema is used. Si se especifica schema_name, se necesita el calificador de ámbito de esquema (.).If schema_name is specified, the schema scope qualifier (.) is required.

{ FROM | TO } <database_principal> especifica la entidad de seguridad a la que se revoca el permiso.{ FROM | TO } <database_principal> Specifies the principal from which the permission is being revoked.

GRANT OPTIONGRANT OPTION
Indica que se revocará el derecho de conceder el permiso especificado a otras entidades de seguridad.Indicates that the right to grant the specified permission to other principals will be revoked. No se revocará el permiso.The permission itself will not be revoked.

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.

CASCADECASCADE
Indica que el permiso que se va a revocar también se revocará de otras entidades de seguridad a las que esta entidad de seguridad ha concedido o denegado permisos.Indicates that the permission being revoked is also revoked from other principals to which it has been granted or denied by this principal.

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 <database_principal> especifica una entidad de seguridad de la que la entidad de seguridad que ejecuta esta consulta deriva su derecho de revocar el permiso.AS <database_principal> Specifies a principal from which the principal executing this query derives its right to revoke the permission.

Database_userDatabase_user
Especifica un usuario de base de datos.Specifies a database user.

Database_roleDatabase_role
Especifica un rol de base de datos.Specifies a database role.

Application_roleApplication_role
Especifica un rol de aplicación.Specifies an application role.

Database_user_mapped_to_Windows_UserDatabase_user_mapped_to_Windows_User
Especifica un usuario de base de datos asignado a un usuario de Windows.Specifies a database user mapped to a Windows user.

Database_user_mapped_to_Windows_GroupDatabase_user_mapped_to_Windows_Group
Especifica un usuario de base de datos asignado a un grupo de Windows.Specifies a database user mapped to a Windows group.

Database_user_mapped_to_certificateDatabase_user_mapped_to_certificate
Especifica un usuario de base de datos asignado a un certificado.Specifies a database user mapped to a certificate.

Database_user_mapped_to_asymmetric_keyDatabase_user_mapped_to_asymmetric_key
Especifica un usuario de base de datos asignado a una clave asimétrica.Specifies a database user mapped to an asymmetric key.

Database_user_with_no_loginDatabase_user_with_no_login
Especifica un usuario de base de datos sin entidad de seguridad de servidor correspondiente.Specifies a database user with no corresponding server-level principal.

ObservacionesRemarks

Puede ver la información acerca de objetos en varias vistas de catálogo.Information about objects is visible in various catalog views. Para más información, vea Object Catalog Views (Transact-SQL) [Vistas de catálogo de objetos (Transact-SQL)].For more information, see Object Catalog Views (Transact-SQL).

Un objeto es un elemento protegible de nivel de esquema que contiene el esquema que es su entidad primaria en la jerarquía de permisos.An object is a schema-level securable contained by the schema that is its parent in the permissions hierarchy. La mayoría de permisos limitados y específicos que se pueden revocar en un objeto se muestran en la siguiente tabla, junto con permisos más generales que los incluyen por implicación.The most specific and limited permissions that can be revoked on an object are listed in the following table, together with the more general permissions that include them by implication.

Permiso de objetoObject permission Implícito en el permiso de objetoImplied by object permission Implícito en el permiso del esquemaImplied by schema permission
ALTERALTER CONTROLCONTROL ALTERALTER
CONTROLCONTROL CONTROLCONTROL CONTROLCONTROL
DeleteDELETE CONTROLCONTROL DeleteDELETE
EjecuteEXECUTE CONTROLCONTROL EjecuteEXECUTE
INSERTINSERT CONTROLCONTROL INSERTINSERT
RECEIVERECEIVE CONTROLCONTROL CONTROLCONTROL
REFERENCESREFERENCES CONTROLCONTROL REFERENCESREFERENCES
SELECTSELECT RECEIVERECEIVE SELECTSELECT
TAKE OWNERSHIPTAKE OWNERSHIP CONTROLCONTROL CONTROLCONTROL
UPDATEUPDATE CONTROLCONTROL UPDATEUPDATE
VIEW CHANGE TRACKINGVIEW CHANGE TRACKING CONTROLCONTROL VIEW CHANGE TRACKINGVIEW CHANGE TRACKING
VIEW DEFINITIONVIEW DEFINITION CONTROLCONTROL VIEW DEFINITIONVIEW DEFINITION

PermisosPermissions

Requiere el permiso CONTROL en el objeto.Requires CONTROL permission on the object.

Si utiliza la cláusula AS, la entidad de seguridad especificada debe ser propietaria del objeto en el que se revocan los permisos.If you use the AS clause, the specified principal must own the object on which permissions are being revoked.

EjemplosExamples

A.A. Revocar el permiso SELECT en una tablaRevoking SELECT permission on a table

En el siguiente ejemplo se revoca el permiso SELECT del usuario RosaQdM en la tabla Person.Address de la base de datos AdventureWorks2012.The following example revokes SELECT permission from the user RosaQdM on the table Person.Address in the AdventureWorks2012 database.

USE AdventureWorks2012;  
REVOKE SELECT ON OBJECT::Person.Address FROM RosaQdM;  
GO  

B.B. Revocar el permiso EXECUTE en un procedimiento almacenadoRevoking EXECUTE permission on a stored procedure

En el siguiente ejemplo se revoca el permiso EXECUTE para el procedimiento almacenado HumanResources.uspUpdateEmployeeHireInfo a un rol de aplicación denominado Recruiting11.The following example revokes EXECUTE permission on the stored procedure HumanResources.uspUpdateEmployeeHireInfo from an application role called Recruiting11.

USE AdventureWorks2012;  
REVOKE EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    FROM Recruiting11;  
GO   

C.C. Revocar el permiso REFERENCES en una vista con CASCADERevoking REFERENCES permission on a view with CASCADE

En el siguiente ejemplo se revoca el permiso REFERENCES para la columna BusinessEntityID de la vista HumanResources.vEmployee al usuario Wanida con CASCADE.The following example revokes REFERENCES permission on the column BusinessEntityID in the view HumanResources.vEmployee from the user Wanida with CASCADE.

USE AdventureWorks2012;  
REVOKE REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee   
    FROM Wanida CASCADE;  
GO  

Consulte tambiénSee Also

Permisos de objeto GRANT (Transact-SQL) GRANT Object Permissions (Transact-SQL)
Permisos de objeto DENY (Transact-SQL) DENY Object Permissions (Transact-SQL)
Object Catalog Views (Transact-SQL) (Vistas de catálogo de objetos [Transact-SQL])Object Catalog Views (Transact-SQL)
Permisos (motor de base de datos) Permissions (Database Engine)
Entidades de seguridad (motor de base de datos) Principals (Database Engine)
Securables Securables
sys.fn_builtin_permissions (Transact-SQL) sys.fn_builtin_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL) HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)sys.fn_my_permissions (Transact-SQL)