Questo argomento non è stato ancora valutato - Valuta questo argomento

DENY - autorizzazioni per oggetti di sistema (Transact-SQL)

Nega le autorizzazioni per oggetti di sistema come stored procedure, stored procedure estese, funzioni e viste.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL


DENY { SELECT | EXECUTE } ON [ sys.]system_object TO principal 
[ sys.]

Il qualificatore sys è obbligatorio solo per riferimenti a viste del catalogo e viste a gestione dinamica.

system_object

Specifica l'oggetto per cui viene negata l'autorizzazione.

principal

Specifica l'entità da cui viene revocata l'autorizzazione.

È possibile utilizzare questa istruzione per negare le autorizzazioni per particolari stored procedure, stored procedure estese, funzioni valutate a livello di tabella, funzioni scalari, viste, viste del catalogo, viste di compatibilità, viste INFORMATION_SCHEMA, viste a gestione dinamica e tabelle di sistema installate da SQL Server. Ognuno di questi oggetti di sistema esiste come record univoco nel database delle risorse (mssqlsystemresource). Il database delle risorse è di sola lettura. Un collegamento all'oggetto è disponibile in forma di record nello schema sys di tutti i database.

I nomi di procedure non qualificati vengono risolti dal processo predefinito di risoluzione dei nomi nel database delle risorse. Il qualificatore sys è pertanto obbligatorio solo quando si specificano viste del catalogo e viste a gestione dinamica.

Nota di attenzione Attenzione

La negazione di autorizzazioni per gli oggetti di sistema causerà errori nelle applicazioni che dipendono da tali oggetti. SQL Server Management Studio utilizza le viste del catalogo e potrebbe funzionare in modo imprevisto se si modificano le autorizzazioni predefinite per le viste del catalogo.

Non è supportata la negazione di autorizzazioni per i trigger e le colonne di oggetti di sistema.

Le autorizzazioni per gli oggetti di sistema vengono mantenute in caso di aggiornamento di SQL Server.

Gli oggetti di sistema sono visibili nella vista del catalogo sys.system_objects. Le autorizzazioni per gli oggetti di sistema sono visibili nella vista del catalogo sys.database_permissions nel database master.

La query seguente restituisce informazioni sulle autorizzazioni degli oggetti di sistema:

SELECT * FROM master.sys.database_permissions AS dp 
    JOIN sys.system_objects AS so
    ON dp.major_id = so.object_id
    WHERE dp.class = 1 AND so.parent_object_id = 0 ;
GO

È richiesta l'autorizzazione CONTROL SERVER.

Nell'esempio seguente viene negata l'autorizzazione EXECUTE per xp_cmdshell a public.

DENY EXECUTE ON sys.xp_cmdshell TO public;
GO
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
© 2013 Microsoft. Tutti i diritti riservati.