Jak ograniczyć śledzenie programu SQL Server Profiler do określonej bazy danych? Nie widzę sposobu filtrowania śledzenia, aby nie wyświetlać zdarzeń dla wszystkich baz danych w instancji, z którą się łączę.
Jak ograniczyć śledzenie programu SQL Server Profiler do określonej bazy danych? Nie widzę sposobu filtrowania śledzenia, aby nie wyświetlać zdarzeń dla wszystkich baz danych w instancji, z którą się łączę.
Odpowiedzi:
W obszarze Właściwości śledzenia> karta Wybór zdarzeń> wybierz pokaż wszystkie kolumny. Teraz pod filtrami kolumn powinieneś zobaczyć nazwę bazy danych. Wpisz nazwę bazy danych dla sekcji Like, a powinieneś zobaczyć ślady tylko dla tej bazy danych.
before
rozpoczynając śledzenie. Jeśli zrobisz to później - pola nie będzie można edytować!
W SQL 2005 najpierw musisz wyświetlić kolumnę Nazwa bazy danych w swoim śladzie. Najłatwiej jest wybrać szablon Tuning, który ma już tę kolumnę.
Zakładając, że masz wybrany szablon dostrajania, aby filtrować:
Zawsze zapisuję również ślad w tabeli, aby po fakcie móc wykonać zapytania JAK na danych śledzenia.
Dzięki eksperymentowi mogłem to zaobserwować:
Kiedy SQL Profiler 2005 lub SQL Profiler 2000 jest używany z bazą danych rezydującą w SQLServer 2000 - wspomniany problem występuje nadal, ale gdy SQL Profiler 2005 jest używany z bazą danych SQLServer 2005, działa idealnie!
Podsumowując, problem wydaje się występować w SQLServer 2000 i został naprawiony w SQLServer 2005.
Rozwiązaniem problemu związanego z SQLServer 2000 jest (jak wyjaśniono wearejimbo)
Zidentyfikuj identyfikator bazy danych bazy danych, którą chcesz filtrować, sprawdzając tabelę sysdatabases, jak pokazano poniżej
SELECT *
FROM master..sysdatabases
WHERE name like '%your_db_name%' -- Remove this line to see all databases
ORDER BY dbid
Użyj filtru DatabaseID (zamiast DatabaseName) w oknie New Trace programu SQL Profiler 2000
We właściwościach śledzenia kliknij kartę Wybór zdarzeń u góry obok Ogólne . Następnie kliknij Filtry kolumnowe ... w prawym dolnym rogu. Następnie możesz wybrać elementy do filtrowania, takie jak TextData
lub DatabaseName
.
Rozwiń węzeł Like i wprowadź filtr ze %
znakami procentowymi, takimi jak %MyDatabaseName%
lub %TextDataToFilter%
. Bez %%
znaków filtr nie będzie działać.
Ponadto zaznacz pole wyboru Wyklucz wiersze, które nie zawierają wartości ”. Jeśli nie możesz znaleźć pola, które chcesz filtrować, na przykład DatabaseName
przejdź do karty Ogólne i zmień szablon , puste pole powinno zawierać wszystkie pola.
Utwórz nowy szablon i sprawdź DBname. Użyj tego szablonu dla swojego pliku śledzenia.