Condividi tramite


Oggetto SQL Statistics di SQL Server

L'oggetto SQLServer:SQL Statistics di SQL Server fornisce 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 .

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 nelle versioni più recenti di SQL Server le parametrizzazioni automatiche sono note anche come 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 nelle versioni più recenti di SQL Server le parametrizzazioni automatiche sono denominate anche parametrizzazioni semplici.

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 del piano al secondo in cui non è stato possibile applicare una guida di piano durante la generazione del piano. La guida di piano viene ignorata e viene utilizzata la compilazione normale per generare il piano eseguito.

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 nella cache tra più istruzioni Transact-SQL con struttura simile. In SQL Server vengono eseguiti molti tentativi di parametrizzazione automatica. Alcune parametrizzazioni risultano sicure, mentre altre hanno esito negativo. Si noti che nelle versioni più recenti di SQL Server 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. 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 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 sono definite non sicure. Sono escluse le parametrizzazioni forzate.

Vedere anche

Riferimento

Oggetto Plan Cache di SQL Server

Concetti

Monitoraggio dell'utilizzo delle risorse (Monitor di sistema)