Sql Server 2000 mette a disposizione un ottimo tool per l'esecuzione e l'analisi dei query T-SQL. Questo tool è chiamato Query Analyzer (QA).
Per eseguire QA vai in Start / Programmi / Microsoft SQL Server / Query Analyzer, si aprirà una finestra come questa
LoginLogin
dove:
  • in SQL Server devi metter il nome o l'IP della macchina che esegue SQL Server (localhost o 127.0.0.1 indica la macchina locale)
  • mentre come Connect using è possibile usare sia la Windows authentication (l'utente con cui sei connesso a windows) che la SQL Server authentication (un utente definito in SQL con relativa password)
in entrambi i casi se l'utente ha i diritti di accedere a SQL si apre una finestra simile alla seguente
Query AnalyzerQuery Analyzer
La finestra è strutturata in tre riquadri principali:
  • A: Object Browser dove vengono elencati tutti i DB presenti sul server e gli oggetti contenuti (tabelle, viste, strore procedure, utenti...)
  • B: la finestra principale dove è posibile inserire una o più query SQL
  • C: il pannello dove viene mostrato il risultato delle query eseguite (inizialmente non è visualizzato)

Per controllare la sintassi di una query premere CTRL+F5, mentre per eseguirla premere F5 (si possono anche utilizzare i comandi della button bar 2 o del menu 1).
Una volta eseguita la query, viene visualizzato anche il pannello C con il risultato nella scheda Grids e i messaggi di stato e/o errore in Messages. Inoltre nella barra di stato 3 vengono date alcune informazioni sull'esecuzione, come ad esempio il tempo impiegato, il numero di righe restituite, l'utente corrente...

Per avere un help sulla sintassi delle istruzioni ammesse dal T-SQL (Transact-SQL, il linguaggio interno di SQL Server) andare nel menu Help / Transact-SQL Help. Mentre per avere un alenco degli oggetti presenti nel DB Help / Database Object Information (richiama sp_help).

Come dicevo questo tool permette di fare anche delle analisi sulle query eseguite. Premendo CTRL+K (menu Query / Show Execution Plan) è possibile attivare il piano di esecuzione, ovvere come SQL elabora / organizza le query e il tempo dedicato ad ogniuna.

Ecco un esempio relativo alla query
SQL
SELECT [title], [au_ord], [au_lname], [price], [ytd_sales], [pub_id]
FROM [pubs].[dbo].[titleview]
Execution PlanExecution Plan
Facendo un analisi del piano di esecuzione è possibile avere delle informazioni per ottimizzare delle query particolarmente lente. In questo senso QA non è esaustivo, per un analisi più approfondita è necessario utilizzare il SQL Profiler
Altri tool disponibili, sempre nel menu Query, sono: Index Tuning Wizard, Show Server Trace e Show Client Statistic.

In ultimo nell'Object Browser (A), nella scheda Templates si trovano alcuni script SQL pronti all'uso per eseguire le operazioni più comuni o semplicemente da usare come base di studio.
Potrebbe interessarti anche: