Condividi tramite


DENY (autorizzazioni per schemi) (Transact-SQL)

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL in Microsoft Fabric

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)