Funzioni e viste a gestione dinamica (Transact-SQL)

Le funzioni e le viste a gestione dinamica restituiscono informazioni sullo stato del server che possono essere utilizzate per monitorare l'integrità di un'istanza del server, diagnosticare i problemi e ottimizzare le prestazioni.

Nota importanteImportante

Le funzioni e le viste a gestione dinamica restituiscono dati interni, specifici dell'implementazione, relativi allo stato. I dati restituiti e gli schemi potrebbero cambiare nelle versioni future di SQL Server. Le funzioni e le viste a gestione dinamica delle versioni future potrebbero pertanto non essere compatibili con quelle contenute in questa versione. Ad esempio, nelle prossime versioni di SQL Server, è possibile che Microsoft estenda la definizione di qualsiasi vista a gestione dinamica aggiungendo colonne alla fine del relativo elenco. Non è consigliabile utilizzare la sintassi SELECT * FROM dynamic_management_view_name nel codice di produzione. Il numero di colonne restituite potrebbe infatti cambiare compromettendo il corretto funzionamento dell'applicazione.

Esistono due tipi di funzioni e viste a gestione dinamica:

  • Funzioni e viste a gestione dinamica con ambito server. Richiedono l'autorizzazione VIEW SERVER STATE nel server.

  • Funzioni e viste a gestione dinamica con ambito database. Richiedono l'autorizzazione VIEW DATABASE STATE nel database.

Esecuzione di query su viste a gestione dinamica

È possibile fare riferimento alle viste a gestione dinamica nelle istruzioni Transact-SQL utilizzando nomi composti da due, tre o quattro parti. È invece possibile fare riferimento alle funzioni a gestione dinamica nelle istruzioni Transact-SQL utilizzando nomi composti da due o tre parti. Non è possibile fare riferimento a funzioni e viste a gestione dinamica nelle istruzioni Transact-SQL utilizzando nomi composti da una parte.

Tutte le funzioni e le viste a gestione dinamica esistono nello schema sys e seguono questa convenzione di denominazione dm_*. Quando si utilizza una funzione o vista a gestione dinamica, è necessario anteporre al nome della funzione o vista il prefisso di schema sys. Ad esempio, per eseguire una query sulla vista a gestione dinamica dm_os_wait_stats, eseguire la query seguente:

SELECT wait_type, wait_time_ms

FROM sys.dm_os_wait_stats;

GO

Autorizzazioni necessarie

Per eseguire una query su una funzione o una vista a gestione dinamica è necessaria l'autorizzazione SELECT per l'oggetto e l'autorizzazione VIEW SERVER STATE o VIEW DATABASE STATE. Ciò consente di restringere in maniera selettiva l'accesso di un utente o di un account a funzioni e viste a gestione dinamica. A tale scopo, è necessario innanzitutto creare l'utente nel database master, quindi negargli l'autorizzazione SELECT per le funzioni o viste a gestione dinamica per le quali si desidera impedire l'accesso. Di conseguenza, l'utente non sarà più in grado di selezionare queste funzioni e viste a gestione dinamica, indipendentemente dal relativo contesto di database.

[!NOTA]

Poiché DENY è prioritaria, se a un utente sono state concesse le autorizzazioni VIEW SERVER STATE ma è stata negata l'autorizzazione VIEW DATABASE STATE, l'utente sarà in grado di visualizzare le informazioni a livello di server, ma non quelle a livello di database.

Contenuto della sezione

Le funzioni e le viste a gestione dinamica sono state organizzate in base alle categorie seguenti.

Funzioni e viste a gestione dinamica di Gruppi di disponibilità AlwaysOn

Funzioni e viste a gestione dinamica relative agli indici

Viste a gestione dinamica correlate all'acquisizione dei dati delle modifiche

Funzioni e viste a gestione dinamica relative all'I/O

Viste a gestione dinamica correlate al rilevamento delle modifiche

Funzioni e viste a gestione dinamica relative agli oggetti

Viste a gestione dinamica relative a CLR (Common Language Runtime)

Viste a gestione dinamica relative alle notifiche delle query

Viste a gestione dinamica relative al mirroring del database

Viste a gestione dinamica relative alle repliche

Viste a gestione dinamica relative ai database

Viste a gestione dinamica relative a Resource Governor

Funzioni e viste a gestione dinamica relative all'esecuzione

Viste a gestione dinamica relative alla sicurezza

Viste a gestione dinamica degli eventi estesi

Viste a gestione dinamica relative a Service Broker

DMV per FILESTREAM e tabelle FileTable (Transact-SQL)

Viste a gestione dinamica relative al sistema operativo di SQL Server

Viste a gestione dinamica per la ricerca full-text e la ricerca semantica

Funzioni e viste a gestione dinamica relative alle transazioni

Vedere anche

Riferimento

GRANT - autorizzazioni per server (Transact-SQL)

GRANT - autorizzazioni per database (Transact-SQL)

Viste di sistema (Transact-SQL)