Permissões de grupo de disponibilidade GRANT (Transact-SQL)

Aplica-se a:SQL Server

Concede permissões em um Grupo de Disponibilidade AlwaysOn.

Convenções de sintaxe de Transact-SQL

Sintaxe

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  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

permission
Especifica uma permissão que pode ser concedida em um grupo de disponibilidade. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.

ON AVAILABILITY GROUP ::availability_group_name
Especifica o grupo de disponibilidade no qual a permissão está sendo concedida. O qualificador de escopo ( :: ) é obrigatório.

TO <server_principal>
Especifica o logon do SQL Server ao qual a permissão está sendo concedida.

SQL_Server_login
Especifica o nome de um logon do SQL Server.

SQL_Server_login_from_Windows_login
Especifica o nome de um logon do SQL Server criado a partir de um logon do Windows.

SQL_Server_login_from_certificate
Especifica o nome de um logon do SQL Server mapeado para um certificado.

SQL_Server_login_from_AsymKey
Especifica o nome de um logon do SQL Server mapeado para uma chave assimétrica.

WITH GRANT OPTION
Indica que o principal também terá a capacidade de conceder a permissão especificada a outros principais.

AS SQL_Server_login
Especifica o logon do SQL Server do qual o principal que executa esta consulta deriva seu direito de conceder a permissão.

Comentários

As permissões no escopo de servidor podem ser concedidas somente quando o banco de dados atual for mestre.

Informações sobre grupos de disponibilidade ficam visíveis na exibição do catálogo sys.availability_groups (Transact-SQL). As informações sobre permissões de servidor estão visíveis na exibição do catálogo sys.server_permissions e as informações sobre entidades de segurança do servidor estão visíveis na exibição do catálogo sys.server_principals.

Um grupo de disponibilidade é um nível de servidor protegível. As permissões mais específicas e limitadas que podem ser concedidas em um grupo de disponibilidade são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.

Permissão de grupo de disponibilidade Implícito na permissão de grupo de disponibilidade Implícito na permissão de servidor
ALTER CONTROL ALTER ANY AVAILABILITY GROUP
CONECTAR CONTROL CONTROL SERVER
CONTROL CONTROL CONTROL SERVER
TAKE OWNERSHIP CONTROL CONTROL SERVER
VIEW DEFINITION CONTROL VIEW ANY DEFINITION

Para um gráfico de todas as permissões Mecanismo de Banco de Dados, veja Pôster de permissão do mecanismo de banco de dados.

Permissões

Requer a permissão CONTROL no grupo de disponibilidade ou a permissão ALTER ANY AVAILABILITY GROUP no servidor.

Exemplos

a. Concedendo a permissão VIEW DEFINITION em um grupo de disponibilidade

O exemplo a seguir concede a permissão VIEW DEFINITION no grupo de disponibilidade MyAg para SQL Server logon ZArifin.

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

B. Concedendo a permissão TAKE OWNERSHIP com GRANT OPTION

O exemplo a seguir concede a permissão TAKE OWNERSHIP no grupo de disponibilidade MyAg para o usuário do SQL ServerPKomosinski com GRANT OPTION.

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

C. Concedendo a permissão CONTROL em um grupo de disponibilidade

O exemplo a seguir concede a permissão CONTROL no grupo de disponibilidade MyAg para SQL Server usuário PKomosinski. CONTROL permite o controle completo de logon do grupo de disponibilidade, embora eles não sejam o proprietário do grupo de disponibilidade. Para alterar a propriedade, veja ALTER AUTHORIZATION (Transact-SQL).

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

Consulte Também

Permissões de grupo de disponibilidade REVOKE (Transact-SQL)
Permissões de grupo de disponibilidade DENY (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Exibições do catálogo de Grupos de Disponibilidade AlwaysOn (Transact-SQL)Permissões (mecanismo de banco de dados)
Entidades (Mecanismo de Banco de Dados)