Condividi tramite


OGGETTO SQL Server, STATISTICHE SQL

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 e ricompilazioni di query e del numero di batch ricevuti da un'istanza di SQL Server consente di ottenere un'indicazione della rapidità con cui SQL Server elabora le query degli utenti e dell'efficacia con cui Query Optimizer elabora le query.

La compilazione è una parte significativa del tempo di turnaround di una query. Per risparmiare il costo di compilazione, il motore di database salva il piano di query compilato in una cache di query. L'obiettivo della cache è ridurre la compilazione archiviando le query compilate per un riutilizzo successivo, terminando quindi il requisito di ricompilare le query quando vengono eseguite in un secondo momento. Tuttavia, ogni query univoca deve essere compilata almeno una volta. Le ricompilazione delle query possono essere causate dai fattori seguenti:

  • Modifiche dello schema, incluse le modifiche dello schema di base, ad esempio l'aggiunta di colonne o indici a una tabella o le modifiche dello schema delle statistiche, ad esempio l'inserimento o l'eliminazione di un numero significativo di righe da una tabella.

  • Modifiche all'ambiente (istruzione SET). Le modifiche apportate alle impostazioni della sessione, ad esempio ANSI_PADDING o ANSI_NULLS, possono causare la ricompilazione di una query.

Per altre informazioni sulla parametrizzazione semplice e forzata, vedere ALTER DATABASE (Transact-SQL).

Questi sono i contatori delle statistiche SQL di SQL Server.

Contatori delle statistiche SQL di SQL Server Descrizione
Tentativi di param automatico/sec Numero di tentativi di parametrizzazione automatica al secondo. Il totale deve essere la somma delle parametriizzazioni auto non riuscite, sicure e non sicure. La parametrizzazione automatica si verifica quando un'istanza di SQL Server tenta di parametrizzare una richiesta di 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. Si noti che le parametrizzazione automatica sono note anche come parametrizzazione semplici nelle versioni più recenti di SQL Server. Questo contatore non include le parametriizzazioni forzate.
Richieste batch/sec Numero di batch di comandi Transact-SQL ricevuti al secondo. Questa statistica è influenzata da tutti i vincoli (ad esempio I/O, numero di utenti, dimensioni della cache, complessità delle richieste e così via). Le richieste batch elevate indicano una buona capacità di trasmissione.
Parametri automatici non riusciti/sec Numero di tentativi di parametrizzazione automatica non riusciti al secondo. Questo dovrebbe essere piccolo. Si noti che le parametrizzazione automatica sono note anche come parametrizzazione semplici nelle versioni successive di SQL Server.
Parametrizzazione forzata/sec Numero di parametrizzazioni forzate riuscite al secondo.
Esecuzioni di piani guidati al secondo Numero di esecuzioni di piani al secondo in cui il piano di query è stato generato usando una guida di piano.
Esecuzioni di piani mal diretti/sec Numero di esecuzioni del piano al secondo in cui una guida di piano potrebbe non essere stata rispettata durante la generazione del piano. La guida di piano è stata ignorata e la compilazione normale è stata usata per generare il piano eseguito.
Parametri automatici sicuri/sec Numero di tentativi di parametrizzazione automatica sicuri al secondo. Safe fa riferimento a una determinazione che un piano di esecuzione memorizzato nella cache può essere condiviso tra istruzioni Transact-SQL simili. SQL Server esegue molti tentativi di parametrizzazione automatica alcuni dei quali si rivelano sicuri e altri hanno esito negativo. Si noti che le parametrizzazione automatica sono note anche come parametrizzazione semplici nelle versioni successive di SQL Server. Non sono incluse le parametriizzazioni forzate.
Tasso di attenzione SQL Numero di attenzioni al secondo. Un'attenzione è una richiesta da parte del client per terminare la richiesta attualmente in esecuzione.
Compilazioni SQL/sec Numero di compilazioni SQL al secondo. Indica il numero di volte in cui viene immesso il 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 dichiarazioni al secondo. Conta il numero di volte in cui si attivano le ricompilazioni delle istruzioni. In genere, si vuole che i ricompilimenti siano bassi.
Parametri automatici non sicuri/sec Numero di tentativi di parametrizzazione automatica non sicuri al secondo. Ad esempio, la query presenta alcune caratteristiche che impediscono la condivisione del piano memorizzato nella cache. Questi sono designati come non sicuri. Non viene conteggiato il numero di parametrizzazione forzate.

Vedere anche

Oggetto Plan Cache di SQL Server
Monitoraggio dell'utilizzo delle risorse (Monitor di sistema)