Dzisiaj w pracy tworząc jeden z modułów aplikacji, zaczęły dziać się dziwne rzeczy. Jakieś magiczne dane były pobierane i nijak miały się do założonego rezultatu. Z pomocą przyszedł mi Profiler.

Profiler – to genialne narzędzie dołączone do SQL Server Management Studio, które pozwala podglądać jakie zapytania zostają wysyłane do bazy danych. Jest niezastąpiony, jeśli dzieje się magia opisana powyżej.

profiler1

Znajdziemy go w Tools -> SQL Server Profiler.

Gdy zostanie uruchomiona aplikacja, wystarczy zalogować się do serwera bazy danych dokładnie tak samo, jak robimy to łącząc się w Management Studio.

profiler2

Kolejnym oknem będzie tworzenie nowego Trace’a. Klikamy Run, bo domyślne opcje są w zupełnie wystarczające. Teraz możemy podglądać, co takiego jest przesyłane do naszego serwera.

profiler3

Z przydatnych opcji, w górnym pasku znajdziemy gumkę, która czyści całą historię i pauzę, która zatrzymuje odczyt danych.

Nie pozostaje nam nic innego jak przetestowanie działania Profilera. Puśćmy proste zapytanie do bazy danych:

A oto nasz ślad:

profiler4

Teraz coś bardziej skomplikowanego, czyli procedura składowana:

I jej wywołanie:

No i to, co przechwycił profiler:

profiler5

W ten prosty sposób udało mi się odkryć, że aplikacja wywołuje procedurę ze złym parametrem, co skutkowało pobieraniem błędnych danych z bazy. Szybko odnalazłem błąd i zamiast tracić czas na debugowanie mogłem w spokoju pogadać z kolegami przy herbatce 🙂