In questi giorni mi è capitato di andare alla ricerca di qualcosa che portava la cpu di Sql Server al massimo, credo che sia interessante vedere quali sono gli strumenti che si possono utilizzare per un compito come questo.
Activity Monitor
L’Activity Monitor permette di visualizzare informazioni sui processi di SQL Server.
Vengono visualizzati tutti gli spid con il loro stato, l’applicazione che li ha generati ed è possibile fare il Kill del processo.
Profiler
Il profiler è uno strumento estremamente potente che ci permette di monitorare tutte quelle che sono le query che vengono eseguite sull’istanza di Sql Server.
Le configurazioni sono praticamente infinite, possiamo specificare il nome del db, l’utente, i tempi di durata delle query, vedere le stored procedure e anche gli statement eseguiti all’interno.
Una volta attivato è possibile esportare la traccia in una tabella o in file.
Le best practice dicono di attivarlo su una macchina diversa dal server sql per ridurre il carico di elaborazione che comunque è alto essendo uno strumento di analisi dei problemi.
sp_who2 e sp_WhoIsActive
La stored procedure sp_who2 ricalca in parte le funzionalità del Activity Monitor, ma essendo un script è sicuramente più veloce e comodo da eseguire.
sp_WhoIsActive invece è una interessante stored procedure che potete trovare qui http://sqlblog.com/files/folders/release/entry29675.aspx.
Questa sp_WhoIsActive permette di visualizzare in maniera dettagliata quali sono i processi attivi che query stanno eseguendo, nel mio caso è stata estremamente utile.
Tag di Technorati:
Sql Server
posted @ venerdì 8 aprile 2011 19:31