REVOKE (permisos de entidad de seguridad de servidor de Transact-SQL)
Revoca permisos concedidos o denegados en un inicio de sesión de SQL Server.
Sintaxis
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ] }
ON LOGIN :: SQL_Server_login
{ FROM | TO } <server_principal> [ ,...n ]
[ CASCADE ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
Argumentos
permission
Especifica un permiso que se puede revocar en un inicio de sesión de SQL Server. Para obtener una lista de permisos, vea la sección Notas que se muestra posteriormente en este tema.LOGIN :: SQL_Server_login
Especifica el inicio de sesión de SQL Server en el que se va a revocar el permiso. Se requiere el calificador de ámbito (::).{ FROM | TO } SQL_Server_login
Especifica el inicio de sesión de SQL Server desde el que se va a revocar el permiso.SQL_Server_login
Especifica el nombre de un inicio de sesión de SQL Server.SQL_Server_login_from_Windows_login
Especifica el nombre de un inicio de sesión de SQL Server creado desde un inicio de sesión de Windows.SQL_Server_login_from_certificate
Especifica el nombre de un inicio de sesión de SQL Server asignado a un certificado.SQL_Server_login_from_AsymKey
Especifica el nombre de un inicio de sesión de SQL Server asignado a una clave asimétrica.GRANT OPTION
Indica que se revocará el derecho de conceder el permiso especificado a otras entidades de seguridad. No se revocará el permiso.Importante Si la entidad de seguridad dispone del permiso especificado sin la opción GRANT, se revocará el permiso.
CASCADE
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.Advertencia Una revocación en cascada de un permiso concedido WITH GRANT OPTION revocará tanto GRANT como DENY de dicho permiso.
AS SQL_Server_login
Especifica el inicio de sesión de SQL Server del que la entidad de seguridad que ejecuta esta consulta deriva su derecho de revocar el permiso.
Comentarios
Un inicio de sesión de SQL Server es un elemento que puede protegerse en el nivel de servidor. La mayoría de permisos limitados y específicos que se pueden revocar en un inicio de sesión de SQL Server se muestran en la siguiente tabla, junto con permisos más generales que los incluyen por implicación.
Permiso de inicio de sesión de SQL Server |
Implicado por el permiso de inicio de sesión de SQL Server |
Implicado por el permiso de servidor |
---|---|---|
CONTROL |
CONTROL |
CONTROL SERVER |
IMPERSONATE |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
ALTER |
CONTROL |
ALTER ANY LOGIN |
Permisos
Requiere el permiso CONTROL en el inicio de sesión o el permiso ALTER ANY LOGIN en el servidor.
Ejemplos
A. Revocar el permiso IMPERSONATE en un inicio de sesión
En el siguiente ejemplo se revoca el permiso IMPERSONATE en el inicio de sesión WanidaBenshoof de SQL Server desde un inicio de sesión de SQL Server creado desde el usuario de Windows AdvWorks\YoonM.
USE master;
REVOKE IMPERSONATE ON LOGIN::WanidaBenshoof FROM [AdvWorks\YoonM];
GO
B. Revocar el permiso VIEW DEFINITION con CASCADE
En el siguiente ejemplo se revoca el permiso VIEW DEFINITION en el inicio de sesión EricKurjan de SQL Server desde el inicio de sesión RMeyyappan de SQL Server. La opción CASCADE indica que el permiso VIEW DEFINITION en EricKurjan también se revocará a las entidades de seguridad a las que RMeyyappan concedió el permiso.
USE master;
REVOKE VIEW DEFINITION ON LOGIN::EricKurjan FROM RMeyyappan
CASCADE;
GO
Vea también