Oggetto SQL Statistics di SQL Server
Tramite l'oggetto SQLServer:SQL Statistics di Microsoft SQL Server sono disponibili contatori per il monitoraggio della compilazione e del tipo di richieste inviate a un'istanza di SQL Server. Il monitoraggio del numero di compilazioni e ricompilazioni di query e del numero di batch ricevuti da un'istanza di SQL Server consente di determinare la velocità di elaborazione delle query utente in SQL Server e l'efficienza di Query Optmizer.
La compilazione rappresenta un aspetto fondamentale del processo di elaborazione delle query. Allo scopo di ottimizzare la compilazione, in Motore di database il piano di query compilato viene salvato in una query cache. Ciò consente di limitare le operazioni di compilazione e di riutilizzare le query in un momento successivo senza doverle ricompilare. Ogni query tuttavia deve essere compilata almeno una volta. Le ricompilazioni delle query possono essere causate dai seguenti fattori:
- 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.
- Modifiche all'ambiente (istruzione SET). Modifiche alle impostazioni di sessione, ad esempio ANSI_PADDING o ANSI_NULLS.
Per ulteriori informazioni sulla parametrizzazione semplice e forzata, vedere ALTER DATABASE (Transact-SQL) e Parametrizzazione semplice.
Nella tabella seguente sono elencati i contatori dell'oggetto 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. Una parametrizzazione automatica si verifica quando in un'istanza di SQL Server viene eseguito un tentativo di parametrizzazione di una richiesta Transact-SQL tramite la sostituzione di alcuni valori letterali con parametri in modo da consentire il riutilizzo del piano di esecuzione memorizzato nella cache risultante in più richieste con struttura simile. Si noti che in Microsoft SQL Server 2000 le parametrizzazioni automatiche sono denominate anche parametrizzazioni semplici. Sono escluse le parametrizzazioni forzate. |
Richieste batch/sec |
Numero di batch di comandi Transact-SQL ricevuti al secondo. Il valore dipende da tutti i vincoli (I/O, numero di utenti, dimensioni della cache, complessità delle richieste e così via). Un valore elevato indica una velocità effettiva ottimale. |
Parametrizzazioni automatiche non riuscite/sec |
Numero di tentativi di parametrizzazione automatica non riusciti al secondo. Il valore dovrebbe essere basso. Si noti che in SQL Server 2005 le parametrizzazioni automatiche sono denominate anche parametrizzazioni semplici. |
Parametrizzazioni forzate/sec |
Numero di parametrizzazioni forzate riuscite al secondo. |
Parametrizzazioni automatiche sicure/sec |
Numero di tentativi di parametrizzazione automatica sicura al secondo. L'aggettivo sicura indica la possibilità di condivisione di un piano di esecuzione memorizzato in memoria tra più istruzioni Transact-SQL con struttura simile. In SQL Server vengono eseguiti molti tentativi di parametrizzazione automatica. Alcune parametrezzazioni risultano sicure, mentre altre hanno esito negativo. Si noti che in SQL Server 2005 le parametrizzazioni automatiche sono denominate anche parametrizzazioni semplici. Sono escluse le 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 esecuzioni del percorso del codice di compilazione. Include le compilazioni generate da ricompilazioni a livello di istruzione in SQL Server 2005. Quando l'attività dell'utente di SQL Server è stabile, il valore rimane costante. |
Ricompilazioni SQL/sec |
Numero di ricompilazioni di istruzioni al secondo. Esegue il conteggio del numero di attivazioni delle ricompilazioni di istruzioni. In generale, il numero di ricompilazioni deve essere basso. In SQL Server 2005 le ricompilazioni sono con ambito istruzione, mentre in Microsoft SQL Server 2000 sono con ambito batch. Di conseguenza non è possibile eseguire confronti tra i valori di questo contatore in SQL Server 2005 e in versioni precedenti. |
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 sono definite non sicure. Sono escluse le parametrizzazioni forzate. |
Vedere anche
Riferimento
Oggetto Plan Cache di SQL Server
Altre risorse
Monitoraggio dell'utilizzo delle risorse (Monitor di sistema)