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

Aplica-se a:SQL Server

Nega permissões em um Grupo de Disponibilidade AlwaysOn no SQL Server.

Convenções de sintaxe de Transact-SQL

Sintaxe

DENY permission  [ ,...n ] ON AVAILABILITY GROUP :: availability_group_name  
        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  

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 negada 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 negada. O qualificador de escopo ( :: ) é obrigatório.

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

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.

CASCADE
Indica que a permissão que está sendo negada também é negada a outros principais aos quais ela foi concedida por esse principal.

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

Comentários

As permissões no escopo de servidor podem ser negadas somente quando o banco de dados atual é 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 negadas 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

Permissões

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

Exemplos

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

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

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

B. Negando a permissão TAKE OWNERSHIP com CASCADE OPTION

O exemplo a seguir nega a permissão TAKE OWNERSHIP no grupo de disponibilidade MyAg para o usuário PKomosinski do SQL Server com a opção CASCADE.

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

Consulte Também

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