Compartir a través de


Disponibilidad de los permisos de grupo REVOKE (Transact-SQL)

Revoca los permisos en un grupo de disponibilidad AlwaysOn.

Se aplica a: SQL Server (desde SQL Server 2012 hasta la versión actual).

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

REVOKE [ GRANT OPTION FOR ] permission  [ ,...n ] 
    ON AVAILABILITY GROUP :: availability_group_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 revocar en un grupo de disponibilidad. Para obtener una lista de permisos, vea la sección Comentarios más adelante en este tema.

  • ON AVAILABILITY GROUP ::availability_group_name
    Especifica el grupo de disponibilidad en el que se va a revocar el permiso. Se necesita el calificador de ámbito (
    ::
    ).

  • { FROM | TO } <server_principal>
    Especifica el inicio de sesión de SQL Server en 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.

    Importante

    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 solo pueden revocarse si la base de datos actual es master.

Puede ver la información acerca de los grupos de disponibilidad en la vista de catálogo sys.availability_groups (Transact-SQL). 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 grupo de disponibilidad es un elemento protegible en el nivel servidor. La mayoría de permisos limitados y específicos que se pueden revocar en un grupo de disponibilidad se muestran en la siguiente tabla, junto con permisos más generales que los incluyen por implicación.

Permiso de grupos de disponibilidad

Permiso implícito en el grupo de disponibilidad

Implícito en el permiso de servidor

ALTER

CONTROL

ALTER ANY AVAILABILITY GROUP

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 grupo de disponibilidad o el permiso ALTER ANY AVAILABILTIY GROUP en el servidor.

Ejemplos

A.Revocar el permiso VIEW DEFINITION en un grupo de disponibilidad

En el siguiente ejemplo se revoca el VIEW DEFINITIONpermiso en el grupo de disponibilidadMyAg para el inicio de sesión ZArifinde SQL Server.

USE master;
REVOKE VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO 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 grupo de disponibilidad MyAg para el usuario SQL Server PKomosinski y desde todas las entidades de seguridad a las que PKomosinski concedio TAKE OWNERSHIP en MyAg.

USE master;
REVOKE TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski 
    CASCADE;
GO

C.Revocar una cláusula WITH GRANT OPTION previamente concedida

Si un permiso se concede mediante WITH GRANT OPTION, use REVOKE GRANT OPTION FOR … para quitar WITH GRANT OPTION. El siguiente ejemplo concede el permiso y después quita la parte WITH GRANT del mismo.

USE master;
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski 
    WITH GRANT OPTION;
GO
REVOKE GRANT OPTION FOR CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE
GO

Vea también

Referencia

Disponibilidad de los permisos de grupo GRANT (Transact-SQL)

Disponibilidad de los permisos de grupo DENY (Transact-SQL)

CREATE AVAILABILITY GROUP (Transact-SQL)

sys.availability_groups (Transact-SQL)

Conceptos

Permisos (motor de base de datos)

Entidades de seguridad (motor de base de datos)

Otros recursos

Vistas de catálogo de grupos de disponibilidad AlwaysOn (Transact-SQL)