DENY (permisos de servidor de Transact-SQL)
Deniega permisos en un servidor.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
Argumentos
- permission
Especifica un permiso que se puede denegar en un servidor. Para obtener una lista de permisos, vea la sección Notas más adelante en este tema.
- CASCADE
Indica que el permiso que se va a denegar también se denegará a otras entidades de seguridad a las que esta entidad de seguridad ha concedido permisos.
- TO <server_principal>
Especifica la entidad de seguridad de la que se va a denegar el permiso.
- AS <grantor_principal>
Especifica la entidad de seguridad de la que la entidad de seguridad que ejecuta esta consulta deriva su derecho de denegar el permiso.
- SQL_Server_login
Especifica un inicio de sesión de SQL Server.
- SQL_Server_login_mapped_to_Windows_login
Especifica un inicio de sesión de SQL Server asignado a un inicio de sesión de Windows.
- SQL_Server_login_mapped_to_Windows_group
Especifica un inicio de sesión de SQL Server asignado a un grupo de Windows.
- SQL_Server_login_mapped_to_certificate
Especifica un inicio de sesión de SQL Server asignado a un certificado.
- SQL_Server_login_mapped_to_asymmetric_key
Especifica un inicio de sesión de SQL Server asignado a una clave asimétrica.
Notas
Los permisos del ámbito del servidor sólo pueden denegarse si la base de datos actual es master.
Puede ver la información acerca de los permisos del servidor en la vista de catálogo sys.server_permissions, mientras que la información acerca de las entidades de seguridad de servidor puede verse en la vista de catálogo sys.server_principals. Puede ver la información acerca de la pertenencia de funciones de servidor en la vista de catálogo sys.server_role_members.
Un servidor ocupa el nivel más alto en la jerarquía de permisos. En la siguiente tabla se muestran los permisos más específicos y limitados que pueden denegarse en un servidor.
Permiso de servidor | Implicado por el permiso de servidor |
---|---|
ADMINISTER BULK OPERATIONS |
CONTROL SERVER |
ALTER ANY CONNECTION |
CONTROL SERVER |
ALTER ANY CREDENTIAL |
CONTROL SERVER |
ALTER ANY DATABASE |
CONTROL SERVER |
ALTER ANY ENDPOINT |
CONTROL SERVER |
ALTER ANY EVENT NOTIFICATION |
CONTROL SERVER |
ALTER ANY LINKED SERVER |
CONTROL SERVER |
ALTER ANY LOGIN |
CONTROL SERVER |
ALTER RESOURCES |
CONTROL SERVER |
ALTER SERVER STATE |
CONTROL SERVER |
ALTER SETTINGS |
CONTROL SERVER |
ALTER TRACE |
CONTROL SERVER |
AUTHENTICATE SERVER |
CONTROL SERVER |
CONNECT SQL |
CONTROL SERVER |
CONTROL SERVER |
CONTROL SERVER |
CREATE ANY DATABASE |
ALTER ANY DATABASE |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW SERVER STATE |
ALTER SERVER STATE |
Permisos
Requiere el permiso CONTROL SERVER o la propiedad del elemento que puede protegerse. Si utiliza la cláusula AS, la entidad de seguridad especificada debe ser propietaria del elemento en el que se deniegan los permisos.
Ejemplos
A. Denegar el permiso CONNECT SQL para un inicio de sesión de SQL Server y las entidades de seguridad para las que el inicio de sesión ha vuelto a concederlo
En el siguiente ejemplo se deniega el permiso CONNECT SQL
al inicio de sesión Annika
de SQL Server y a las entidades de seguridad a las que ha concedido el permiso.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. Denegar el permiso CREATE ENDPOINT a un inicio de sesión de SQL Server utilizando la opción AS
En el siguiente ejemplo se deniega el permiso CREATE ENDPOINT
al usuario ArifS
. En el ejemplo se utiliza la opción AS
para especificar MandarP
como la entidad de seguridad desde la que la entidad de seguridad que ejecuta la consulta deriva la autoridad para hacerlo.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
Vea también
Referencia
GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY (permisos de servidor de Transact-SQL)
REVOKE (permisos de servidor de Transact-SQL)