2011-10-04 24 views
9

Sembra che ci dovrebbero essere strumenti migliori là fuori per la profilatura di SQL di SQL Server Profiler. Ci vuole sempre per impostare una sessione di profilo. Sto cercando uno strumento più simile a VS profiler. Basta scegliere una procedura memorizzata ed eseguirla con una serie di parametri, e quello che dovrei ottenere è un grafico di profilazione che mostra quanto tempo impiegano ogni query, chiamata SP e chiamata di funzione, e mi consente di analizzare le singole istruzioni con i parametri che sono stati inoltrati.Quali strumenti sono disponibili per il profiling di stored procedure nel server SQL diverso da MS Profiler?

Ho visto alcuni per Oracle, ma non ho visto alcun buon strumento per SQL server.

risposta

4

Non c'è niente di sbagliato in SQL Profiler. Certo, ha le sue idiosincrasie, ma è comunque un buon strumento. Essendo il punto, spesso c'è meno valore nell'ottimizzazione di una singola stored procedure piuttosto che nell'ottimizzazione del carico di lavoro di una query.

Non condivido la tua esperienza che "ci vuole sempre per impostare una sessione di profilo".

In SQL Server dal 2008 in poi, ci sono anche extended events, MA, sebbene potenti, non hanno ancora una GUI semplice.

AGGIORNAMENTO: Se è già stato identificato il Proc. Memorizzato in questione, eseguire in SSMS con il "Piano di esecuzione effettivo" attivato: ciò indica perché è necessario eseguire il tempo. È inoltre possibile includere "SET STATISTICS IO ON" per fornire un'analisi delle letture/scritture eseguite.

per l'esame piani di esecuzione, provare a utilizzare la libera SQL Sentry Plan Explorer

+0

Qual è il tipico ciclo dell'ambiente di sviluppo come quando si sta sviluppando il codice SQL per SqlServer? Attualmente utilizzo SQL Server Management Studio per lo sviluppo delle mie stored procedure, ma poi devo andare su VS per fare qualsiasi passo attraverso il debugging, che ha il suo set di problemi come nessun accesso per visualizzare il contenuto di tabelle temporanee o variabili di tabella. – bpeikes

+0

Se vuoi profilare un SP per vedere cosa ci vuole così tanto tempo, devi aprire il profiler, aggiungere filtri in modo da filtrare ciò che gli altri potrebbero fare, quindi eseguire l'SP da management studio, quindi scaricare l'output a un tavolo per l'analisi. Rispetto a quello che posso fare con il codice scritto in C++, C#, C e persino Java, l'ambiente di sviluppo è primitivo. – bpeikes

+1

Se si conosce già l'SP in questione, eseguire in SSMS con il "Piano di esecuzione effettivo" attivato: questo indicherà perché è necessario eseguire il tempo. –

1

SQL Server Profiler è un grande strumento. Le prime volte che la usi può richiedere un po ', ma inizi a imparare gli eventi e l'output desiderato abbastanza rapidamente.

Un'alternativa sarebbe utilizzare il sistema memorizzato proc e funzioni. Scrivi uno script che li utilizza per darti l'output che desideri e poi salvalo e modifica ogni volta i parametri specifici. Ma ancora una volta è molto simile al salvataggio dei modelli in Profiler.

0

Si consiglia di provare SQL Sentry Plan Explorer. Questo è lo strumento molto più utilizzabile e completo di SSMS per la profilazione delle query tramite l'analisi del piano di esecuzione. Per ulteriori informazioni, vedere this answer.

Vale la pena ricordare che lo strumento è disponibile nelle edizioni gratuite e Pro, tuttavia, non ho trovato limitazioni della versione gratuita per le mie esigenze.

Problemi correlati