7

C'è un modo per vedere quante query vengono eseguite in come ogni ora, o per database/ora, o il numero medio di query in un giorno, o ... Qual è l'interesse?SQL: come posso ottenere il numero di query eseguite per database o ora o ...?

Solo per le statistiche .. Mi piacciono i numeri. Non riesco ad avviare una traccia con Sql Server Profiler, perché l'interfaccia utente si arresta in modo anomalo quando arrivano troppe query.

SQL tiene traccia di alcune "statistiche sulle query eseguite" di base da qualche parte oppure esistono strumenti che è possibile utilizzare per ottenere queste informazioni?

(io uso di SQL Server 2008 R2)

+0

http://sqlserverperformance.idera.com/tsql-optimization/understanding-sql-server-statistics/ – Oded

+0

Nizza post su indice e le statistiche di colonna/tavolo, ma non dice nulla sul numero di query eseguite –

risposta

5

Questo dovrebbe funzionare:

select * 
from sys.dm_os_performance_counters 
where counter_name = 'Batch Requests/sec' 

Esso restituisce in realtà le totale richieste batch. Si effettua il prelevamento questo numero periodicamente e quindi utilizzare questo calcolo:

ReqsPerSec = (curr.Value - prev.Value)/(curr.time - prev.time) 
+0

Bello, non sapevo ancora di questo contatore. Sai quando questo contatore viene resettato? Il contatore ha un valore (circa 224 milioni) ma è come 10 giorni fa. E questo è un totale di tutti i database. Posso anche ottenere queste informazioni "per database"? –

+1

@RBarryYoung il tuo sito web dice 'Accesso fallito per utente' rba0813312265276 '. Motivo: l'account è disabilitato. ' Forse è bene disabilitare le eccezioni pubbliche? –

+0

@Erik Dekker: il contatore viene ripristinato all'avvio di SQL Server. Non esiste un contatore per-database equivalente (AFAIK), ma potrebbero esserci alcuni prodotti/strumenti che possono ottenerlo (attraverso la traccia e le estensioni). – RBarryYoung

0

sto in realtà solo l'apprendimento su questo nel mio Certificazione Microsoft.

Anche se non posso rispondere alla tua domanda direttamente ancora, posso inviare nella giusta direzione con un paio di cose:

  1. Dai un'occhiata alla la vista all'interno del server di database>>> database di sistema MSDB > Viste> Viste di sistema. MSDN Systsem Views
  2. Dai un'occhiata alle schermate all'interno del server> Database> Database di sistema> Principale> Viste> Viste di sistema.
  3. Ottenere un picco sugli strumenti di traccia disponibili per SQL Server.

Nelle viste, è possibile che sia necessario unire un paio di viste o accedere alle tabelle sottostanti per ottenere esattamente ciò che si sta cercando.

Problemi correlati