DENY - autorizzazioni per entità server (Transact-SQL)
Nega le autorizzazioni concesse per un account di accesso di SQL Server.
Convenzioni della sintassi Transact-SQL
Sintassi
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
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.
- TO 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 mappato a un certificato.
- SQL_Server_login_from_AsymKey
Specifica il nome di un account di accesso di SQL Server mappato a una chiave asimmetrica.
- CASCADE
Indica che l'autorizzazione negata viene negata anche ad altre entità alle quali è stata concessa da questa entità.
- AS 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 visibili nella vista del catalogo sys.server_permissions. Le informazioni sulle entità server sono visibili nella vista del catalogo sys.server_principals.
L'istruzione DENY avrà esito negativo se non si specifica CASCADE per la negazione di un'autorizzazione a un'entità a cui l'autorizzazione è stata concessa con GRANT OPTION.
Un account di SQL Server è un'entità a protezione diretta a livello del server. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile negare per un account di accesso di SQL Server, insieme alle autorizzazioni più generali che le includono in modo implicito.
Autorizzazione dell'account di accesso di SQL Server | Autorizzazione dell'account di accesso di SQL Server in cui è inclusa | Autorizzazione del server in cui è inclusa |
---|---|---|
CONTROL |
CONTROL |
CONTROL SERVER |
IMPERSONATE |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
ALTER |
CONTROL |
ALTER ANY LOGIN |
Autorizzazioni
È richiesta l'autorizzazione CONTROL per l'account di accesso o l'autorizzazione ALTER ANY LOGIN per il server.
Esempi
A. 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 dell'autorizzazione VIEW DEFINITION con CASCADE
Nell'esempio seguente viene negata l'autorizzazione VIEW DEFINITION
per l'account di accesso di SQL Server EricKurjan
all'account 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
Vedere anche
Riferimento
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
GRANT - autorizzazioni per entità server (Transact-SQL)
REVOKE - autorizzazioni per entità server (Transact-SQL)
CREATE LOGIN (Transact-SQL)