Share via


DENY (permisos de esquema de Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Deniega permisos en un esquema.

Convenciones de sintaxis de Transact-SQL

Sintaxis

DENY permission  [ ,...n ] } ON SCHEMA :: schema_name  
    TO database_principal [ ,...n ]   
    [ CASCADE ]  
        [ AS denying_principal ]  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

permission
Especifica un permiso que se puede denegar en un esquema. Para obtener una lista de estos permisos, vea la sección Comentarios posteriormente en este artículo.

ON SCHEMA :: schema*_name*
Especifica el esquema en el que se deniega el permiso. El calificador de ámbito :: es obligatorio.

database_principal
Especifica la entidad de seguridad de la que se va a denegar el permiso. database_principal puede ser una de estas entidades de seguridad:

  • Usuario de la base de datos
  • Rol de base de datos
  • Rol de aplicación
  • Usuario de la base de datos asignado a un inicio de sesión de Windows
  • Usuario de la base de datos asignado a un grupo de Windows
  • Usuario de la base de datos asignado a un certificado
  • Usuario de la base de datos asignado a una clave asimétrica
  • Usuario de la base de datos no asignado a una entidad de seguridad de servidor

CASCADE
Deniega el permiso a otras entidades de seguridad a las que se ha concedido permiso mediante database_principal.

denying_principal
Especifica una entidad de seguridad de la que la entidad de seguridad que ejecuta esta consulta deriva su derecho de denegar el permiso. denying_principal puede ser una de estas entidades de seguridad:

  • Usuario de la base de datos
  • Rol de base de datos
  • Rol de aplicación
  • Usuario de la base de datos asignado a un inicio de sesión de Windows
  • Usuario de la base de datos asignado a un grupo de Windows
  • Usuario de la base de datos asignado a un certificado
  • Usuario de la base de datos asignado a una clave asimétrica
  • Usuario de la base de datos no asignado a una entidad de seguridad de servidor

Observaciones

Un esquema es un elemento protegible de nivel de base de datos. Se incluye en la base de datos que es su entidad primaria en la jerarquía de permisos. En la tabla siguiente se muestran los permisos más específicos y limitados que se pueden denegar en un esquema. En la tabla se muestran los permisos más generales que los incluyen por implicación.

Permiso del esquema Implícito en el permiso del esquema Implícito en el permiso de base de datos
ALTER CONTROL ALTER ANY SCHEMA
CONTROL CONTROL CONTROL
CREATE SEQUENCE ALTER ALTER ANY SCHEMA
Delete CONTROL Delete
Ejecute CONTROL Ejecute
INSERT CONTROL INSERT
REFERENCES CONTROL REFERENCES
SELECT CONTROL SELECT
TAKE OWNERSHIP CONTROL CONTROL
UPDATE CONTROL UPDATE
VIEW CHANGE TRACKING CONTROL CONTROL
VIEW DEFINITION CONTROL VIEW DEFINITION

Permisos

Requiere el permiso CONTROL en el esquema. Si usa la opción AS, la entidad de seguridad especificada debe ser propietaria del esquema.

Consulte también

CREATE SCHEMA (Transact-SQL)
DENY (Transact-SQL)
Permisos (motor de base de datos)
Entidades de seguridad (motor de base de datos)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)