Compartir a través de


REVOKE (permisos de extremo de Transact-SQL)

Revoca permisos concedidos o denegados en un extremo.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ] 
    ON ENDPOINT :: endpoint_name
    { 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 conceder en un extremo. Para obtener una lista de permisos, vea la sección Notas más adelante en este tema.

  • ON ENDPOINT ::
    Especifica el extremo en el que se va a conceder el permiso. Se requiere el calificador de ámbito (::).

  • { FROM | TO } <server_principal>
    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.

    Nota importanteImportante

    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.

    Nota de advertenciaAdvertencia

    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 para revocar el permiso.

Comentarios

Los permisos del ámbito del servidor sólo pueden revocarse si la base de datos actual es master.

Puede ver la información acerca de los extremos en la vista de catálogo sys.endpoints. 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.

Un extremo 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 extremo se muestran en la siguiente tabla, junto con permisos más generales que los incluyen por implicación.

Permiso de extremo

Implicado por el permiso de extremo

Implicado por el permiso de servidor

ALTER

CONTROL

ALTER ANY ENDPOINT

CONNECT

CONTROL

CONTROL SERVER

CONTROL

CONTROL

CONTROL SERVER

TAKE OWNERSHIP

CONTROL

CONTROL SERVER

VIEW DEFINITION

CONTROL

VIEW ANY DEFINITION

Permisos

Requiere el permiso CONTROL en el extremo o el permiso ALTER ANY ENDPOINT en el servidor.

Ejemplos

A. Revocar el permiso VIEW DEFINITION en un extremo

En el siguiente ejemplo se revoca el permiso VIEW DEFINITION en el extremo Mirror7 desde el inicio de sesión ZArifin de SQL Server.

USE master;
REVOKE VIEW DEFINITION ON ENDPOINT::Mirror7 FROM ZArifin;
GO

B. Revocar el permiso TAKE OWNERSHIP con la opción CASCADE

En el siguiente ejemplo se revoca el permiso TAKE OWNERSHIP en el extremo Shipping83 del usuario PKomosinski de SQL Server y de todas las entidades de seguridad para las que PKomosinski concedió TAKE OWNERSHIP en Shipping83.

USE master;
REVOKE TAKE OWNERSHIP ON ENDPOINT::Shipping83 FROM PKomosinski 
    CASCADE;
GO