Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Istanza gestita di Azure SQL
Nega le autorizzazioni per un server.
Convenzioni relative alla 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
autorizzazione
Specifica un'autorizzazione che può essere negata per un server. Per un elenco delle autorizzazioni, vedere Osservazioni.
CASCADE
Indica che l'autorizzazione viene negata all'entità specificata e a tutte le entità alle quali l'entità ha concesso l'autorizzazione. Richiesto quando il preside ha il permesso con GRANT OPTION.
A <server_principal>
Specifica l'entità a cui viene negata l'autorizzazione.
COME <grantor_principal>
Specifica un'entità dalla quale l'entità che esegue la query ottiene il diritto di negare l'autorizzazione.
Usa la AS clausola principale per indicare che il mandante registrato come negatore del permesso dovrebbe essere un principale diverso dalla persona che ha eseguito la dichiarazione. Ad esempio, presumiamo che l'utente Mary abbia principal_id 12 anni e l'utente Raul sia il principale 15. Mary esegue DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Ora la sys.database_permissions tabella indicherà che l'istruzione grantor_principal_id di negazione era 15 (Raul) anche se l'istruzione è stata effettivamente eseguita dall'utente 13 (Mary).
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 mappato a un account di accesso di Windows.
SQL_Server_login_mapped_to_Windows_group
Specifica un account di accesso di SQL Server mappato a un gruppo di Windows.
SQL_Server_login_mapped_to_certificate
Specifica un account di accesso di SQL Server mappato a un certificato.
SQL_Server_login_mapped_to_asymmetric_key
Specifica un account di accesso di SQL Server mappato a una chiave asimmetrica.
server_role
Specifica un ruolo del server.
Osservazioni:
I permessi nell'ambito del server possono essere negati solo quando il database attuale è master.
Le informazioni sulle autorizzazioni del server sono visibili 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.
In database SQL di Azure, GRANT, REVOKE, e DENY i permessi a livello server non sono supportati.
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 GROUPSi applica a: SQL Server (SQL Server 2012 (11.x) fino alla versione corrente). |
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 ROLESi applica a: SQL Server (SQL Server 2012 (11.x) fino alla versione corrente). |
CONTROL SERVER |
ALTER RESOURCES |
CONTROL SERVER |
ALTER SERVER STATE |
CONTROL SERVER |
ALTER SETTINGS |
CONTROL SERVER |
ALTER TRACE |
CONTROL SERVER |
AUTHENTICATE SERVER |
CONTROL SERVER |
| COLLEGA QUALSIASI DATABASE Si applica a: SQL Server (SQL Server 2014 (12.x) fino alla versione corrente). |
CONTROL SERVER |
CONNECT SQL |
CONTROL SERVER |
CONTROL SERVER |
CONTROL SERVER |
CREATE ANY DATABASE |
ALTER ANY DATABASE |
| CREATE AVAILABILITY GROUP Si applica a: SQL Server (SQL Server 2012 (11.x) fino alla versione corrente). |
MODIFICA QUALSIASI AVAILABILITY GROUP |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE SERVER ROLESi applica a: SQL Server (SQL Server 2012 (11.x) fino alla versione corrente). |
ALTER ANY SERVER ROLE |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
IMPERSONATE ANY LOGINSi applica a: SQL Server (SQL Server 2014 (12.x) fino alla versione corrente). |
CONTROL SERVER |
SELECT ALL USER SECURABLESSi applica a: SQL Server (SQL Server 2014 (12.x) fino alla versione corrente). |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW ANY PERFORMANCE DEFINITIONSi applica a: SQL Server 2022 (16.x) e versioni successive. |
VIEW ANY DEFINITION |
VIEW ANY SECURITY DEFINITIONSi applica a: SQL Server 2022 (16.x) e versioni successive. |
VIEW ANY DEFINITION |
VIEW SERVER PERFORMANCE STATESi applica a: SQL Server 2022 (16.x) e versioni successive. |
VIEW SERVER STATE |
VIEW SERVER SECURITY STATESi applica a: SQL Server 2022 (16.x) e versioni successive. |
VIEW SERVER STATE |
VIEW SERVER STATE |
ALTER SERVER STATE |
In SQL Server 2014 (12.x) sono state aggiunte le tre autorizzazioni server seguenti.
l'autorizzazione
CONNECT ANY DATABASE- Concedere
CONNECT ANY DATABASEun accesso che deve connettersi a tutti i database attualmente esistenti e a eventuali nuovi database che potrebbero essere creati in futuro. Non concede alcuna autorizzazione nei database oltre la connessione. Combinare conSELECT ALL USER SECURABLESoVIEW SERVER STATEpermettere a un processo di audit di visualizzare tutti i dati o tutti gli stati del database sull'istanza di SQL Server.
- Concedere
l'autorizzazione
IMPERSONATE ANY LOGIN- Quando viene concessa, consente a un processo di livello intermedio di rappresentare l'account dei client a cui ci si connette, quando si connette ai database. Quando viene negata, è possibile che a un account di accesso con privilegi elevati venga impedito di rappresentare altri account di accesso. Ad esempio, un accesso con
CONTROL SERVERpermesso può essere bloccato dall'impersonare altri accessi.
- Quando viene concessa, consente a un processo di livello intermedio di rappresentare l'account dei client a cui ci si connette, quando si connette ai database. Quando viene negata, è possibile che a un account di accesso con privilegi elevati venga impedito di rappresentare altri account di accesso. Ad esempio, un accesso con
l'autorizzazione
SELECT ALL USER SECURABLES- Quando viene concessa, un account di accesso, ad esempio un revisore, può visualizzare i dati in tutti i database a cui l'utente può connettersi. Quando negato, impedisce l'accesso agli oggetti a meno che non siano presenti nello
sysschema.
- Quando viene concessa, un account di accesso, ad esempio un revisore, può visualizzare i dati in tutti i database a cui l'utente può connettersi. Quando negato, impedisce l'accesso agli oggetti a meno che non siano presenti nello
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
R. Nega il permesso SQL di CONNECT a un login SQL Server e ai principi a cui il login lo ha riconcesso
Nell'esempio seguente viene negata l'autorizzazione CONNECT SQL all'account di accesso di SQL Server Test e a tutte le entità a cui tale account di accesso ha concesso l'autorizzazione.
USE master;
DENY CONNECT SQL TO Test CASCADE;
GO
B. Nega CREATE ENDPOINT il permesso di accedere a un SQL Server usando l'opzione AS
Nell'esempio seguente viene negata l'autorizzazione CREATE ENDPOINT all'utente Test1. Nell'esempio viene utilizzata l'opzione AS per specificare Test2 come entità da cui l'entità che esegue l'istruzione deriva il diritto di effettuare l'operazione.
USE master;
DENY CREATE ENDPOINT TO Test1 AS Test2;
GO