Viste a gestione dinamica di sistema
Si applica a:SQL Server
Database SQL di
Azure Istanza
gestita di SQL di Azure Azure Synapse Analytics
Platform System (PDW)
SQL Endpoint in Microsoft Fabric Warehouse 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 possono 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 versioni future di SQL Server, Microsoft può 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 sulle viste a gestione dinamica
È 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 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, creare prima l'utente in master
e quindi negare all'utente l'autorizzazione 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 è 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 DMV dei Gruppi di disponibilità Always On (Transact-SQL)
Viste a gestione dinamica correlate a Change Data Capture (Transact-SQL)
Visualizzazioni a gestione dinamica correlate a Rilevamento modifiche
Viste a gestione dinamica correlate a Common Language Runtime (Transact-SQL)
Viste a gestione dinamica correlate al mirroring del database (Transact-SQL)
Viste a gestione dinamica correlate al database (Transact-SQL)
Funzioni e viste a gestione dinamica correlate all'esecuzione (Transact-SQL)
Viste a gestione dinamica degli eventi estesi
Viste a gestione dinamica correlate a Filestream e FileTable (Transact-SQL)
Funzioni e viste a gestione dinamica ricerca full-text e funzioni (Transact-SQL)
Funzioni e viste a gestione dinamica della replica geografica (database SQL di Azure)
Funzioni e viste a gestione dinamica correlate all'indice (Transact-SQL)
Funzioni e viste a gestione dinamica correlate all'I/O (Transact-SQL)
Viste a gestione dinamica correlate alla tabella ottimizzata per la memoria (Transact-SQL)
Funzioni e viste a gestione dinamica correlate agli oggetti (Transact-SQL)
Viste a gestione dinamica correlate alle notifiche delle query (Transact-SQL)
Viste a gestione dinamica correlate alla replica (Transact-SQL)
Viste a gestione dinamica correlate a Resource Governor (Transact-SQL)
Funzioni e viste a gestione dinamica correlate alla sicurezza (Transact-SQL)
Funzioni e viste a gestione dinamica correlate al server (Transact-SQL)
Viste a gestione dinamica correlate a Service Broker (Transact-SQL)
Funzioni e viste a gestione dinamica correlate ai dati spaziali (Transact-SQL)
Viste a gestione dinamica correlate al sistema operativo SQL Server (Transact-SQL)
Viste a gestione dinamica correlate a Stretch Database (Transact-SQL)
Funzioni e viste a gestione dinamica correlate alle transazioni (Transact-SQL)