Compartir a través de


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

Concede 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

GRANT permission  [ ,...n ] ON AVAILABILITY GROUP :: availability_group_name
        TO < server_principal >  [ ,...n ]
    [ WITH GRANT OPTION ]
    [ 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 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 conceder el permiso. Se necesita el calificador de ámbito (
    ::
    ).

  • TO <server_principal>
    Especifica el inicio de sesión de SQL Server para el que se va a conceder 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.

  • WITH GRANT OPTION
    Indica que la entidad de seguridad también podrá conceder el permiso especificado a otras entidades de seguridad.

  • 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 conceder el permiso.

Comentarios

Los permisos del ámbito del servidor solo pueden concederse 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 conceder 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

Para un gráfico de todos los permisos de Motor de base de datos, vea Cartel de permisos del motor de base de datos.

Permisos

Requiere el permiso CONTROL en el grupo de disponibilidad o el permiso ALTER ANY AVAILABILTIY GROUP en el servidor.

Ejemplos

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

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

USE master;
GRANT VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;
GO

B.Conceder el permiso TAKE OWNERSHIP con la opción GRANT

En el siguiente ejemplo se concede el permiso TAKE OWNERSHIP para el grupo de disponibilidad MyAg al usuario PKomosinski de SQL Server con GRANT OPTION.

USE master;
GRANT TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski 
    WITH GRANT OPTION;
GO

C.Concede el permiso CONTROL para una grupo de disponibilidad

En el siguiente ejemplo se concede el CONTROLpermiso en el grupo de disponibilidadMyAg para el usuario PKomosinskide SQL Server. CONTROL permite un control completo de inicio de sesión del grupo de disponibilidad, aunque no es el propietario del mismo. Para cambiar la propiedad, vea ALTER AUTHORIZATION (Transact-SQL).

USE master;
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski;
GO

Vea también

Referencia

Disponibilidad de los permisos de grupo REVOKE (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)