Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
database SQL di Azure
Istanza gestita di SQL di Azure
database SQL in Microsoft Fabric
Nega le autorizzazioni per oggetti di sistema come stored procedure, stored procedure estese, funzioni e viste.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
DENY { SELECT | EXECUTE } ON [ sys. ] system_object TO principal
Argomenti
[ sys. ]
Il sys
qualificatore è obbligatorio solo quando si fa riferimento a viste del catalogo e viste a gestione dinamica.
system_object
Specifica l'oggetto per cui viene negata l'autorizzazione.
preside
Specifica l'entità da cui viene revocata l'autorizzazione.
Osservazioni:
Questa istruzione può essere usata per negare le autorizzazioni per determinate stored procedure, stored procedure estese, funzioni con valori 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 di risorse (mssqlsystemresource
). Il database delle risorse è di sola lettura. Un collegamento all'oggetto viene esposto come record nello sys
schema di ogni database.
I nomi di procedure non qualificati vengono risolti dal processo predefinito di risoluzione dei nomi nel database delle risorse. Pertanto, il sys
qualificatore è necessario solo quando si specificano viste del catalogo e viste a gestione dinamica.
Attenzione
Se si negano le autorizzazioni per gli oggetti di sistema, le applicazioni che dipendono da esse hanno esito negativo. SQL Server Management Studio usa viste del catalogo e potrebbe non funzionare come previsto, se si modificano le autorizzazioni predefinite per le viste del catalogo.
La negazione delle autorizzazioni per i trigger e per le colonne di oggetti di sistema non è supportata.
Le autorizzazioni per gli oggetti di sistema vengono mantenute durante gli aggiornamenti 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
INNER JOIN sys.system_objects AS so
ON dp.major_id = so.object_id
WHERE dp.class = 1
AND so.parent_object_id = 0;
GO
Autorizzazioni
È richiesta l'autorizzazione CONTROL SERVER
.
Esempi
Nell'esempio seguente viene negata EXECUTE
l'autorizzazione per xp_cmdshell
il pubblico.
DENY EXECUTE ON sys.xp_cmdshell TO PUBLIC;
GO