Udostępnij przez


Optimizing SQL Trace

Mimo że uruchamianie śledzenia SQL wiąże kosztem wydajności, ponieważ używa zasobów systemowych do zbierania danych, można zrobić wiele rzeczy, aby zminimalizować.Aby zminimalizować koszty wydajności poniesione przez śledzenie, spróbuj wykonać następujące czynności:

  • Należy wziąć pod uwagę przy użyciu wiersz polecenia do uruchomienia śledzenia.Za pomocą graficznego interfejs użytkownika przeszkadza wydajności.Aby uzyskać więcej informacji zobaczsp_trace_create (Transact-SQL).

  • Należy unikać w tym zdarzenia, które występują często.Jeśli to możliwe zawęzić swoje śledzenia o klasach określonego zdarzenie i filtry.Jeżeli zebrane w mniejszej liczby zdarzeń śledzenia mniej zasobów systemowych są wymagane do obsługi śledzenia.

  • Fokus śledzenia zbieranie tylko zdarzenia, które zapewniają odpowiednie dane.Na przykład, jeśli Twój śledzenia jest zidentyfikowanie zakleszczenia, dołączyć Zablokuj: zakleszczenie Klasa zdarzenie , ale nie Zablokuj: uzyskane klasa zdarzenia.Jeśli zawiera zarówno zdarzenie klas, śledzenie musi odpowiadać na wszystkie blokady, który został nabyty i koszty wykonania jest podwajany.

  • Należy unikać pobierania powtarzające się dane.Na przykład, jeśli należy zebrać SQL:BatchStarted and the SQL:BatchCompleted, można zminimalizować rozmiar wyniki zestaw przez zbieranie danych tekstowych do SQL:BatchStarted tylko klasa zdarzenia.

  • Za pomocą filtrów w definicji śledzenia.Na przykład jeśli wiadomo, że niektórych użytkownik zgłasza spadek wydajności podczas kwerend ad hoc, Tworzenie filtru na LoginName.Ustaw filtr, aby uwzględnić tylko zdarzenia gdzie LoginName pasuje do tej nazwy użytkownika.

Jeśli trzeba uruchomić śledzenia zdarzeń, utworzyć znaczny wpływ na wydajność, należy wziąć pod uwagę ograniczenia spadek wydajności na serwerze przy użyciu jednej z następujących metod:

  • Uruchom ślady krótszych okresów czas.Można kontrolować czas, śledzenie uruchamiana przez włączenie czas przestoju.Jest to szczególnie ważne, jeśli nie można ograniczyć klas zdarzeń lub filtrować zdarzenie.Włączenie czas zatrzymania, który zapewnia, że wydajność poniesione nie ostatni przez czas nieokreślony.

  • Ogranicz rozmiar wyniki śledzenia.Można ograniczyć rozmiar wyniki śledzenia do maksymalny rozmiar pliku.Strategia ta gwarantuje, że wydajności kosztów zatrzymuje się po przekroczeniu limitu rozmiaru pliku (jeżeli przerzucanie pliku nie jest włączona).

  • Ogranicz liczbę zdarzeń zwracane.Z SQL Server Profiler można ograniczyć liczbę zdarzeń, zwracane przez zapisywanie śledzenia do tabela i ustawianie maksymalnej liczby wierszy. Aby nadal są zwracane wyniki śledzenia SQL Server Profiler ekran, po osiągnięciu maksymalnej liczby wierszy, ale jest wyeliminować koszty rejestrowania wyników do tabela.

See Also

Concepts