W SQL Server istnieje kilka narzędzi pozwalających określić wydajność wykorzystywanych zapytań. Podstawowym i najbardziej chyba znanym jest SQL Server Profiler. Można go włączyć z poziomu Sql Server Management Studio (menu główne->Tools->Sql Server Profiler). Po uruchomieniu pojawi się okienko w którym można określić m.in. zdarzenia, które powinny być monitorowane.
Następnie aby rozpocząć analizę należy wybrać Start Selected Trace (ikonka zielonej strzałki w ToolBar). Od tego momentu wszelkie zapytania wykonywane przez serwer bazodanowy będą wyświetlane w raporcie.
Podstawowa konfiguracja Profiler’a wyświetla m.in.:
- nazwę zdarzenia,
- treść zapytania,
- źródło zdarzenia (np. zewnętrzna aplikacja lub Management Studio),
- zużycie procesora,
- liczbę operacji odczytu,
- liczbę operacji zapisu,
- czas trwania zdarzenia (czyli np. wykonania zapytania),
- czas rozpoczęcia i zakończenia.
Jeśli któraś z metryk jest zbyt wysoka należy zastanowić się nad optymalizacja bazy lub zapytań. Na przykład w sytuacji gdy liczba odczytów jest zbyt wysoka można spróbować stworzyć dodatkowe indeksy. Warto regularnie uruchamiać profiler i monitorować ruch – pozwoli to zachować maksymalną wydajność. Szczególnie istotnymi pomiarami są te dokonywane już w realnym środowisku, na prawdziwych użytkownikach, ponieważ odzwierciedlają one najbardziej sposób wykorzystania aplikacji.