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 di sintassi Transact-SQL

Sintassi

DENY permission  [ ,...n ] } ON SCHEMA :: schema_name  
    TO database_principal [ ,...n ]   
    [ CASCADE ]  
        [ AS denying_principal ]  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

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à (motore di database)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)