DENY Permessi del Server Principal (Transact-SQL)

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Nega le autorizzazioni concesse per un account di accesso di SQL Server.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

DENY permission [ ,...n ] }   
    ON   
    { [ LOGIN :: SQL_Server_login ]  
      | [ SERVER ROLE :: server_role ] }   
    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   
    | server_role  

Argomenti

permission
Specifica un'autorizzazione che può essere negata per un account di accesso di SQL Server. Per un elenco delle autorizzazioni, vedere la sezione Osservazioni di seguito in questo argomento.

LOGIN ::SQL_Server_login
Specifica l'account di accesso di SQL Server per cui viene negata l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio.

SERVER ROLE ::server_role
Specifica il ruolo del server a cui viene negata l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio.

A <server_principal>
Specifica il ruolo del server o l'account di accesso di SQL Server a cui viene concessa l'autorizzazione.

A SQL_Server_login
Specifica l'account di accesso di SQL Server a cui viene negata l'autorizzazione.

SQL_Server_login
Specifica il nome di un account di accesso di SQL Server.

SQL_Server_login_from_Windows_login
Specifica il nome di un account di accesso di SQL Server creato da un account di accesso di Windows.

SQL_Server_login_from_certificate
Specifica il nome di un account di accesso di SQL Server con il mapping a un certificato.

SQL_Server_login_from_AsymKey
Specifica il nome di un account di accesso di SQL Server con il mapping a una chiave asimmetrica.

server_role
Specifica il nome di un ruolo del server.

CASCADE
Indica che l'autorizzazione negata viene negata anche ad altre entità alle quali è stata concessa da questa entità.

COME SQL_Server_login
Specifica l'account di accesso di SQL Server dal quale l'entità che esegue la query ottiene il diritto di negare l'autorizzazione.

Osservazioni:

È possibile negare autorizzazioni nell'ambito del server solo se il database corrente è il database master.

Le informazioni sulle autorizzazioni del server sono disponibili nella vista del catalogo sys.server_permissions. Le informazioni sulle entità server sono disponibili nella vista del catalogo sys.server_principals.

L'affermazione DENY fallisce se CASCADE non viene specificato quando stai negando un permesso a un committente che ha ricevuto tale permesso con GRANT OPTION.

I ruoli del server e gli account di accesso di SQL Server sono entità a protezione diretta a livello di server. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile negare per un ruolo del server o account di accesso di SQL Server, insieme alle autorizzazioni più generali che le includono in modo implicito.

Autorizzazione del ruolo del server o dell'account di accesso di SQL Server Autorizzazione del ruolo del server o dell'account di accesso di SQL Server in cui è inclusa Autorizzazione del server in cui è inclusa
CONTROL CONTROL SERVER DI CONTROLLO
IMPERSONATE CONTROL SERVER DI CONTROLLO
VIEW DEFINIZIONE CONTROL VIEW QUALSIASI DEFINIZIONE
ALTER CONTROL MODIFICA QUALSIASI LOGIN

MODIFICA QUALSIASI SERVER ROLE

Autorizzazioni

Per l'accesso, è necessario il permesso CONTROL per l'accesso o MODIFICARE QUALSIASI LOGIN permesso sul server.

Per i ruoli server, richiede il permesso CONTROL sul ruolo server o ALTERARE QUALSIASI SERVER ROLE permesso sul server.

Esempi

R. Negazione dell'autorizzazione IMPERSONATE per un account di accesso

Nell'esempio seguente viene negata l'autorizzazione IMPERSONATE per l'account di accesso di SQL Server WanidaBenshoof a un account di accesso di SQL Server creato dall'utente di Windows AdvWorks\YoonM.

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

B. Negazione VIEW del permesso di DEFINIZIONE con CASCADE

Nell'esempio seguente viene negata l'autorizzazione VIEW DEFINITION per l'account di accesso di SQL Server EricKurjan a un account di accesso di SQL Server RMeyyappan. L'opzione CASCADE indica che l'autorizzazione VIEW DEFINITION per EricKurjan verrà negata anche alle entità a cui RMeyyappan ha concesso tale autorizzazione.

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

C. Negazione VIEW del permesso DEFINITION su un ruolo server

Nell'esempio seguente viene negata l'autorizzazione VIEW DEFINITION nel ruolo del server Sales per il ruolo del server Auditors.

USE master;  
DENY VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;  
GO   

Vedi anche

sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
GRANT Autorizzazioni dell'entità server (Transact-SQL)
REVOKE Autorizzazioni dell'entità server (Transact-SQL)
CREATE LOGIN (Transact-SQL)
Entità di sicurezza (Motore di database)
Autorizzazioni (Motore di database)
Funzioni di sicurezza (Transact-SQL)
Stored procedure relative alla sicurezza (Transact-SQL)