Optymalizacja śledzenia SQL
Chociaż uruchamianie śledzenia SQL ponosi koszt 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, wykonaj następujące czynności:
Należy rozważyć użycie wiersz polecenia do uruchomienia śladów.Przy użyciu graficznego interfejs użytkownika hamuje wydajności.Aby uzyskać więcej informacji, zobacz sp_trace_create (języka Transact-SQL).
Należy unikać, włączając często występujące zdarzenia.Jeśli to możliwe, zawężenia śledzenia poprzez zastosowanie właściwych zdarzenie klasy i filtry.Jeśli gromadzonych zdarzeń śledzenia mniej zasobów systemowych wymaganych do obsługi śledzenia.
Fokus śledzenia zbieranie tylko te zdarzenia, które dostarczają odpowiednie dane.Na przykład jeżeli śledzenia jest zidentyfikowanie zakleszczenia, zawiera Blokady: zakleszczenia klasa zdarzenia, ale nie blokady: nabyte klasy zdarzenie.Jeśli zawiera zarówno zdarzenie klasy, śledzenie ma odpowiedzieć na każdy blokada, który został nabyty i podwojona koszty wykonania.
Aby uniknąć zbierania zduplikowanych danych.Na przykład w przypadku zbierania SQL:BatchStarted i SQL:BatchCompleted, można zminimalizować rozmiar wyniki zestaw przez zbieranie danych tekstowych do SQL:BatchStarted tylko klasy zdarzenie.
Za pomocą filtrów w definicji śledzenia.Na przykład, jeśli wiadomo, że niektóre użytkownika zgłoszenie niska wydajność podczas wykonywania kwerend ad hoc, Tworzenie filtru na LoginName.Ustaw filtr, aby dołączyć tylko zdarzenia gdzie LoginName pasuje do tej nazwy użytkownika.
Jeżeli trzeba uruchomić śledzenia zdarzeń, które tworzą znaczny wpływ na wydajność, należy rozważyć ograniczenie wpływu wydajności na serwerze przy użyciu jednej z następujących metod:
Uruchom ślady na krótsze okresy czas.Można kontrolować czas działającą śledzenia, włączając czas zatrzymania.Jest to szczególnie ważne, jeśli nie można ograniczyć klas zdarzeń lub filtrować zdarzenie.Włączenie czas zatrzymania gwarantuje, że wydajność poniesione nie ostatnio przez czas nieokreślony.
Ograniczenie rozmiaru wyniki śledzenia.Można ograniczyć rozmiar wyniki śledzenia maksymalny rozmiar pliku.Strategia ta wydajności kosztów zatrzymywany po osiągnięciu limitu rozmiaru pliku (Jeśli 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 ustawienie maksymalnej liczby wierszy.Wyniki śledzenia nadal są zwracane do SQL Server Profiler ekranu po osiągnięciu maksymalnej liczby wierszy, ale wyeliminować koszty wyniki do tabela.