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
Azure Synapse Analytics
Piattaforma di analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Magazzino in Microsoft Fabric
Database SQL in Microsoft Fabric
Le viste a gestione dinamica (DMV) e le funzioni a gestione dinamica restituiscono informazioni sullo stato del server che possono essere usate per monitorare l'integrità di un'istanza del server, diagnosticare i problemi e ottimizzare le prestazioni.
Importante
Le funzioni e le viste a gestione dinamica restituiscono dati interni, specifici dell'implementazione, relativi allo stato. Gli schemi e i dati restituiti potrebbero cambiare nelle versioni future di SQL Server. Pertanto, le viste e le funzioni a gestione dinamica nelle versioni future potrebbero non essere compatibili con le viste e le funzioni a gestione dinamica in questa versione. Ad esempio, nelle versioni future di SQL Server, Microsoft potrebbe aumentare la definizione di qualsiasi visualizzazione a gestione dinamica aggiungendo colonne alla fine dell'elenco di colonne. 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. Per SQL Server 2022 e versioni successive, è necessario VISUALIZZARE LO STATO DELLE PRESTAZIONI DEL SERVER o VIEW SERVER SECURITY STATE è necessario per alcune DMV correlate alla sicurezza.
Funzioni e viste a gestione dinamica con ambito database. Richiedono l'autorizzazione VIEW DATABASE STATE nel database. Per SQL Server 2022 e versioni successive, è necessario VISUALIZZARE LO STATO DELLE PRESTAZIONI DEL DATABASE o VIEW DATABASE SECURITY STATE è necessario per alcune DMV correlate alla sicurezza.
Eseguire query su DMV
È possibile fare riferimento alle viste a gestione dinamica nelle istruzioni Transact-SQL usando nomi in due parti, in tre parti o in quattro parti. È possibile fare riferimento alle funzioni di gestione dinamica nelle istruzioni Transact-SQL usando nomi in due parti o in tre parti. Non è possibile fare riferimento a viste e funzioni a gestione dinamica nelle istruzioni Transact-SQL usando nomi in una sola 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;
Autorizzazioni necessarie
Per eseguire query su una vista o una funzione a gestione dinamica, è necessaria SELECT l'autorizzazione per l'oggetto e VIEW SERVER STATE o VIEW DATABASE STATE l'autorizzazione. 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, creare prima l'utente in master e quindi negare l'autorizzazione utente SELECT per le viste a gestione dinamica o le funzioni a cui non si vuole accedere. In seguito, l'utente non può selezionare da queste funzioni o viste a gestione dinamica, indipendentemente dal contesto del database dell'utente.
Nota
Poiché DENY ha la precedenza, se a un utente sono state concesse autorizzazioni VIEW SERVER STATE ma negate VIEW DATABASE STATE , l'utente può visualizzare informazioni a livello di server, ma non informazioni a livello di database.