DENY (autorizzazioni per schemi) (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure
Nega autorizzazioni per uno schema.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
DENY permission [ ,...n ] } ON SCHEMA :: schema_name
TO database_principal [ ,...n ]
[ CASCADE ]
[ AS denying_principal ]
Argomenti
permission
Specifica un'autorizzazione che può essere negata per uno schema. Per un elenco di queste autorizzazioni, vedere la sezione Osservazioni di seguito in questo articolo.
ON SCHEMA :: schema*_name*
Specifica lo schema per cui viene negata l'autorizzazione. Il qualificatore di ambito :: è obbligatorio.
database_principal
Specifica l'entità a cui viene negata l'autorizzazione. database_principal può essere una delle seguenti entità di sicurezza:
- Utente del database
- Ruolo del database
- Ruolo applicazione
- Utente del database di cui è stato eseguito il mapping a un account di accesso di Windows
- Utente del database di cui è stato eseguito il mapping a un gruppo di Windows
- Utente del database di cui è stato eseguito il mapping a un certificato
- Utente del database di cui è stato eseguito il mapping a una chiave asimmetrica
- Utente del database sul quale non viene eseguito il mapping ad alcuna entità server
CASCADE
Nega l'autorizzazione a eventuali altre entità per cui l'oggetto specificato database_principal ha concesso l'autorizzazione.
denying_principal
Specifica un'entità dalla quale l'entità che esegue la query ottiene il diritto di negare l'autorizzazione. denying_principal può essere una delle seguenti entità di sicurezza:
- Utente del database
- Ruolo del database
- Ruolo applicazione
- Utente del database di cui è stato eseguito il mapping a un account di accesso di Windows
- Utente del database di cui è stato eseguito il mapping a un gruppo di Windows
- Utente del database di cui è stato eseguito il mapping a un certificato
- Utente del database di cui è stato eseguito il mapping a una chiave asimmetrica
- Utente del database sul quale non viene eseguito il mapping ad alcuna entità server
Osservazioni:
Uno schema è un'entità a protezione diretta a livello di database, contenuta nel database padre nella gerarchia di autorizzazioni. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile negare per uno schema. La tabella contiene le autorizzazioni più generali che le includono in modo implicito.
Autorizzazione dello schema | Autorizzazione dello schema in cui è inclusa | Autorizzazione del database in cui è inclusa |
---|---|---|
ALTER | CONTROL | ALTER ANY SCHEMA |
CONTROL | CONTROL | CONTROL |
CREATE SEQUENCE | ALTER | ALTER ANY SCHEMA |
DELETE | CONTROL | DELETE |
EXECUTE | CONTROL | EXECUTE |
INSERT … | CONTROL | INSERT … |
REFERENCES | CONTROL | REFERENCES |
SELECT | CONTROL | SELECT |
TAKE OWNERSHIP | CONTROL | CONTROL |
UPDATE | CONTROL | UPDATE |
VIEW CHANGE TRACKING | CONTROL | CONTROL |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Autorizzazioni
È richiesta l'autorizzazione CONTROL per lo schema. Se si usa l'opzione AS, l'entità specificata deve essere proprietaria dello schema.
Vedi anche
CREATE SCHEMA (Transact-SQL)
DENY (Transact-SQL)
Autorizzazioni (Motore di database)
Entità di sicurezza (Motore di database)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)