Compartilhar via


Permissões de principal do servidor DENY (Transact-SQL)

Nega permissões concedidas em um logon do SQL Server.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

DENY permission [ ,...n ] } 
    ON LOGIN :: SQL_Server_login
    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 uma permissão que pode ser negada em um logon do SQL Server. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.

  • LOGIN :: SQL_Server_login
    Especifica o logon do SQL Server no qual a permissão está sendo negada. O qualificador de escopo (::) é necessário.

  • TO SQL_Server_login
    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.

As informações sobre permissões de servidor são visíveis na exibição do catálogo sys.server_permissions. As informações sobre principais de servidor são visíveis na exibição do catálogo sys.server_principals.

A instrução DENY falhará se CASCADE não for especificado ao negar uma permissão a um principal ao qual ela foi concedida com GRANT OPTION especificado.

Um logon do SQL Server é um protegível em nível de servidor. As permissões mais específicas e limitadas que podem ser negadas em um logon do SQL Server são listadas na tabela a seguir, junto com as permissões mais gerais que as contêm implicitamente.

Permissão de logon do SQL Server

Indicado pela permissão de logon do SQL Server

Indicado pela permissão de servidor

CONTROL

CONTROL

CONTROL SERVER

IMPERSONATE

CONTROL

CONTROL SERVER

VIEW DEFINITION

CONTROL

VIEW ANY DEFINITION

ALTER

CONTROL

ALTER ANY LOGIN

Permissões

Requer a permissão CONTROL no logon ou a permissão ALTER ANY LOGIN no servidor.

Exemplos

A. Negando a permissão IMPERSONATE em um logon

O exemplo a seguir nega a permissão IMPERSONATE no logon WanidaBenshoof do SQL Server para um logon do SQL Server criado a partir do usuário do Windows AdvWorks\YoonM.

USE master;
DENY IMPERSONATE ON LOGIN::WanidaBenshoof TO [AdvWorks\YoonM];
GO

B. Negando a permissão VIEW DEFINITION com CASCADE

O exemplo a seguir nega a permissão VIEW DEFINITION no logon EricKurjan do SQL Server para o logon RMeyyappan do SQL Server. A opção CASCADE indica que a permissão VIEW DEFINITION em EricKurjan também será negada a principais aos quais RMeyyappan concedeu essa permissão.

USE master;
DENY VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan 
    CASCADE;
GO