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:

SELECT 2+2

A oto nasz ślad:

profiler4

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

CREATE PROCEDURE TestProfilera
@id int,
@imie varchar(50),
@nazwisko varchar(50)
AS
BEGIN
	SELECT @id, @imie, @nazwisko
END

I jej wywołanie:

exec TestProfilera 1, 'Jan', 'Kowalski'

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 🙂

Dołącz do newslettera już dziś!
Zero spamu - tylko wartościowe treści!
Musisz już lecieć?
Zostaw swój adres e-mail i dołącz do BEZPŁATNYCH WEBINARÓW dotyczących SQLa!
  • „Jak uczyć się SQLa?” – 4 października
  • „SQL dla testerów” – 12 października