DENY - autorizzazioni per server (Transact-SQL)
Nega le autorizzazioni per un server.
Convenzioni della sintassi Transact-SQL
Sintassi
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
Argomenti
permission
Specifica un'autorizzazione che può essere negata per un server. Per un elenco delle autorizzazioni, vedere la sezione Osservazioni di seguito in questo argomento.CASCADE
Indica che l'autorizzazione negata viene negata anche ad altre entità alle quali è stata concessa da questa entità.TO <server_principal>
Specifica l'entità a cui viene negata l'autorizzazione.AS <grantor_principal>
Specifica un'entità dalla quale l'entità che esegue la query ottiene il diritto di negare l'autorizzazione.SQL_Server_login
Specifica un account di accesso di SQL Server.SQL_Server_login_mapped_to_Windows_login
Specifica un account di accesso di SQL Server sul quale viene eseguito il mapping a un utente di Windows.SQL_Server_login_mapped_to_Windows_group
Specifica un account di accesso di SQL Server sul quale viene eseguito il mapping a un gruppo di Windows.SQL_Server_login_mapped_to_certificate
Specifica un account di accesso di SQL Server di cui è stato eseguito il mapping a un certificato.SQL_Server_login_mapped_to_asymmetric_key
Specifica un account di accesso di SQL Server di cui è stato eseguito il mapping a una chiave asimmetrica.server_role
Specifica un ruolo del server.
Osservazioni
È possibile negare autorizzazioni nell'ambito del server solo se il database corrente è il database master.
È possibile visualizzare le informazioni sulle autorizzazioni del server nella vista del catalogo sys.server_permissions e le informazioni sulle entità server nella vista del catalogo sys.server_principals. Le informazioni sulle appartenenze dei ruoli del server sono visibili nella vista del catalogo sys.server_role_members.
Un server rappresenta il livello più alto nella gerarchia delle autorizzazioni. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile negare per un server.
Autorizzazione del server |
Autorizzazione del server in cui è inclusa |
---|---|
ADMINISTER BULK OPERATIONS |
CONTROL SERVER |
ALTER ANY AVAILABILITY GROUP |
CONTROL SERVER |
ALTER ANY CONNECTION |
CONTROL SERVER |
ALTER ANY CREDENTIAL |
CONTROL SERVER |
ALTER ANY DATABASE |
CONTROL SERVER |
ALTER ANY ENDPOINT |
CONTROL SERVER |
ALTER ANY EVENT NOTIFICATION |
CONTROL SERVER |
ALTER ANY EVENT SESSION |
CONTROL SERVER |
ALTER ANY LINKED SERVER |
CONTROL SERVER |
ALTER ANY LOGIN |
CONTROL SERVER |
ALTER ANY SERVER AUDIT |
CONTROL SERVER |
ALTER ANY SERVER ROLE |
CONTROL SERVER |
ALTER RESOURCES |
CONTROL SERVER |
ALTER SERVER STATE |
CONTROL SERVER |
ALTER SETTINGS |
CONTROL SERVER |
ALTER TRACE |
CONTROL SERVER |
AUTHENTICATE SERVER |
CONTROL SERVER |
CONNECT SQL |
CONTROL SERVER |
CONTROL SERVER |
CONTROL SERVER |
CREATE ANY DATABASE |
ALTER ANY DATABASE |
CREATE ANY AVAILABILITY GROUP |
ALTER ANY AVAILABILITY GROUP |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW SERVER STATE |
ALTER SERVER STATE |
Autorizzazioni
È richiesta l'autorizzazione CONTROL SERVER o la proprietà dell'entità a sicurezza diretta. Se si utilizza la clausola AS, l'entità specificata deve essere proprietaria dell'entità a sicurezza diretta per cui vengono negate le autorizzazioni.
Esempi
A.Negazione dell'autorizzazione CONNECT SQL a un account di accesso di SQL Server e alle entità a cui l'account di accesso ha concesso tale autorizzazione
Nell'esempio seguente viene negata l'autorizzazione CONNECT SQL all'account di accesso di SQL Server Annika e a tutte le entità a cui tale account di accesso ha concesso l'autorizzazione.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B.Negazione dell'autorizzazione CREATE ENDPOINT a un account di accesso di SQL Server con l'opzione AS
Nell'esempio seguente viene negata l'autorizzazione CREATE ENDPOINT all'utente ArifS. Nell'esempio viene utilizzata l'opzione AS per specificare MandarP come entità da cui l'entità che esegue l'istruzione deriva il diritto di effettuare l'operazione.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
Vedere anche
Riferimento
DENY - autorizzazioni per server (Transact-SQL)
REVOKE - autorizzazioni per server (Transact-SQL)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)