Condividi tramite


DENY - autorizzazioni per tipi (Transact-SQL)

Nega le autorizzazioni per un tipo.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

DENY permission  [ ,...n ] ON TYPE :: [ schema_name . ] type_name
        TO <database_principal> [ ,...n ]
    [ CASCADE ]
    [ AS <database_principal> ]

<database_principal> ::= 
        Database_user 
    | Database_role 
    | Application_role 
    | Database_user_mapped_to_Windows_User 
    | Database_user_mapped_to_Windows_Group 
    | Database_user_mapped_to_certificate 
    | Database_user_mapped_to_asymmetric_key 
    | Database_user_with_no_login

Argomenti

  • permission
    Specifica un'autorizzazione che può essere negata per un tipo. Per un elenco delle autorizzazioni, vedere la sezione Osservazioni di seguito in questo argomento.

  • ON TYPE :: [ schema_name**.** ] type_name
    Specifica il tipo per cui viene negata l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio. Se si omette schema_name, verrà utilizzato lo schema predefinito. Se si specifica schema_name, il qualificatore di ambito dello schema (.) è obbligatorio.

  • TO <database_principal>
    Specifica l'entità a cui viene negata l'autorizzazione.

  • CASCADE
    Indica che l'autorizzazione negata viene negata anche ad altre entità alle quali è stata concessa da questa entità.

  • AS <database_principal>
    Specifica un'entità dalla quale l'entità che esegue la query ottiene il diritto di negare l'autorizzazione.

  • Database_user
    Specifica un utente di database.

  • Database_role
    Specifica un ruolo del database.

  • Application_role
    Specifica un ruolo applicazione.

  • Database_user_mapped_to_Windows_User
    Specifica un utente del database mappato a un utente di Windows.

  • Database_user_mapped_to_Windows_Group
    Specifica un utente del database mappato a un gruppo di Windows.

  • Database_user_mapped_to_certificate
    Specifica un utente del database mappato a un certificato.

  • Database_user_mapped_to_asymmetric_key
    Specifica un utente del database mappato a una chiave asimmetrica.

  • Database_user_with_no_login
    Specifica un utente del database per cui non esiste un'entità corrispondente a livello del server.

Osservazioni

Un tipo è un'entità a protezione diretta a livello di schema contenuta nello schema padre nella gerarchia delle autorizzazioni.

Nota importanteImportante

Le autorizzazioni GRANT, DENY, e REVOKE non si applicano ai tipi di sistema. Ai tipi definiti dall'utente è possibile concedere autorizzazioni. Per ulteriori informazioni sui tipi definiti dall'utente, vedere Utilizzo dei tipi definiti dall'utente in SQL Server.

Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile negare per un tipo, insieme alle autorizzazioni più generali che le includono in modo implicito.

Autorizzazione del tipo

Autorizzazione del tipo in cui è inclusa

Autorizzazione dello schema in cui è inclusa

CONTROL

CONTROL

CONTROL

EXECUTE

CONTROL

EXECUTE

REFERENCES

CONTROL

REFERENCES

TAKE OWNERSHIP

CONTROL

CONTROL

VIEW DEFINITION

CONTROL

VIEW DEFINITION

Autorizzazioni

È richiesta l'autorizzazione CONTROL per il tipo. Se si utilizza la clausola AS, l'entità specificata deve essere proprietaria del tipo per cui vengono negate le autorizzazioni.

Esempi

Nell'esempio seguente viene negata l'autorizzazione VIEW DEFINITION con CASCADE per il tipo definito dall'utente PhoneNumber all'utente KhalidR. Il tipo PhoneNumber è incluso nello schema Telemarketing.

DENY VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber 
    TO KhalidR CASCADE;
GO