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
L'oggetto SQLServer:SQL Statistics in SQL Server fornisce contatori per monitorare la compilazione e il tipo di richieste inviate a un'istanza di SQL Server. Il monitoraggio del numero di compilazioni di query e ricompilazione e del numero di batch ricevuti da un'istanza di SQL Server offre un'indicazione della velocità con cui SQL Server elabora le query utente e di quanto sia efficace l'elaborazione delle query da parte di Query Optimizer.
La compilazione rappresenta un aspetto fondamentale del processo di elaborazione delle query. Per risparmiare i costi di compilazione, il motore di database salva il piano di query compilato in una cache di query. La cache riduce la compilazione memorizzando le query compilate per un riutilizzo successivo, eliminando così la necessità di ricompilare query nelle esecuzioni successive. Ogni query tuttavia deve essere compilata almeno una volta. I seguenti fattori possono causare ricompilazioni delle query:
Modifiche di schema, incluse le modifiche allo schema di base, ad esempio l'aggiunta di colonne o indici a una tabella, e modifiche allo schema delle statistiche, ad esempio l'inserimento o l'eliminazione di un numero significativo di righe in una tabella.
Cambiamenti nell'ambiente (
SETaffermazione). Modifiche alle impostazioni della sessione comeANSI_PADDINGoANSI_NULLSpossono causare la ricompilazione di una query.
Per ulteriori informazioni consulta:
La tabella seguente elenca i contatori SQL Statistics di SQL Server.
| Contatori dell'oggetto SQL Statistics | Descrizione |
|---|---|
| Tentativi parametrizzazioni automatiche/sec | Numero di tentativi di parametrizzazione automatica al secondo. Il totale deve corrispondere alla somma delle parametrizzazioni automatiche non riuscite, sicure e non sicure. La parametrizzazione automatica si verifica quando un'istanza di SQL Server tenta di parametrizzare una richiesta Transact-SQL sostituendo alcuni valori letterali con parametri in modo che sia possibile riutilizzare il piano di esecuzione memorizzato nella cache risultante in più richieste simili. L'autoparametrizzazione è anche nota come parametrizzazione semplice. Questo contatore non include parametrizzazioni forzate. |
| Richieste batch/sec | Numero di batch di comandi Transact-SQL ricevuti al secondo. Questa statistica è influenzata da tutti i vincoli (come I/O, numero di utenti, dimensione della cache e complessità delle richieste). Un valore elevato indica una velocità effettiva ottimale. |
| Parametrizzazioni automatiche non riuscite/sec | Numero di tentativi di parametrizzazione automatica non riusciti al secondo. Questo valore dovrebbe essere piccolo. L'autoparametrizzazione è anche nota come parametrizzazione semplice. |
| Parametrizzazioni forzate/sec | Numero di parametrizzazioni forzate riuscite al secondo. |
| Esecuzioni piani guidate al secondo | Numero di esecuzioni del piano al secondo in cui il piano di query è stato generato utilizzando una guida di piano. |
| Esecuzioni piani non guidate al secondo | Numero di esecuzioni di piani al secondo in cui una guida non poteva essere rispettata durante la generazione del piano. L'ottimizzatore delle query ignorava la guida al piano e utilizzava la compilazione normale per generare il piano eseguito. |
| Parametrizzazioni automatiche sicure/sec | Numero di tentativi di parametrizzazione automatica sicura al secondo. Safe fa riferimento a una determinazione che un piano di esecuzione memorizzato nella cache può essere condiviso tra istruzioni Transact-SQL simili simili. SQL Server effettua molti tentativi di autoparametrizzazione. Alcuni si rivelano sicuri, altri falliscono. L'autoparametrizzazione è anche nota come parametrizzazione semplice. Questo contatore non include parametrizzazioni forzate. |
| Frequenza situazioni di attenzione SQL | Numero di situazioni di attenzione al secondo. Una situazione di attenzione corrisponde a una richiesta di interruzione della richiesta corrente inviata dal client. |
| Compilazioni SQL/sec | Numero di compilazioni SQL al secondo. Indica il numero di immissioni del percorso del codice di compilazione. Include le compilazioni causate dalle ricompilazione a livello di istruzione in SQL Server. Dopo che l'attività utente di SQL Server è stabile, questo valore raggiunge uno stato stabile. |
| Ricompilazioni SQL/sec | Numero di ricompilazioni di istruzioni al secondo. Esegue il conteggio del numero di volte in cui vengono attivate ricompilazioni di istruzioni. In generale, il numero di ricompilazioni deve essere basso. |
| Parametrizzazioni automatiche non sicure/sec | Numero di tentativi di parametrizzazione automatica non sicure al secondo. Ad esempio, le parametrizzazioni automatiche eseguite quando la query presenta caratteristiche che impediscono la condivisione del piano memorizzato nella cache Queste caratteristiche sono considerate pericolose. Questo conteggio non include il numero di parametrizzazioni forzate. |
Esempi
Per esplorare i contatori di performance delle query in questo oggetto, esegui la seguente query Transact-SQL (T-SQL) sulla vista sys.dm_os_performance_counters gestione dinamica:
SELECT *
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL Statistics%';