Viewing and Analyzing Traces with SQL Server Profiler

Use SQL Server Profiler to view captured event data in a trace.SQL Server Profiler displays data based on defined trace properties.Jednym ze sposobów analizowania SQL Server Aby skopiować dane do innego programu, takich jak są dane SQL Server lub Database Engine Dostrajanie klasyfikatora. Database Engine Dostrajanie klasyfikatora można użyć plik śledzenia, który zawiera SQL partia i procedury zdalnego wywołania (procedur RPC) zdarzenia, jeśli Tekst kolumna danych jest uwzględniona w śledzenia.Aby uzyskać więcej informacji zobaczTuning the Physical Database Design.Aby upewnić się, że poprawny zdarzenia i kolumny są przechwytywane do użytku z Database Engine Dostrajanie klasyfikatora, należy użyć wstępnie zdefiniowanego szablonu dostrajania, który jest dostarczany z SQL Server Profiler.

Po otwarciu śledzenia przy użyciu SQL Server Profiler, plik śledzenia nie musi mieć rozszerzenie pliku .trc, jeśli plik został utworzony przez SQL Server Profiler lub procedur przechowywanych w systemie śledzenia SQL.

Uwaga

SQL Server Profiler można również przeczytać pliki .log śledzenia SQL i rodzajowy plików skryptu SQL.Podczas otwierania pliku dziennika (.log) śledzenia SQL, który nie ma rozszerzenia pliku dziennika (.log), takie jak trace.txt, określanie SQLTrace_Log jako format pliku.

Można skonfigurować SQL Server Profiler Data i godzina wyświetlania formatu, aby pomóc w analizie śledzenia.

Rozwiązywanie problemów z danych

Za pomocą SQL Server Profiler, dane można rozwiązać za pomocą funkcji grupowanie ślady lub pliki śledzenia przez Czas trwania, CPU, Odczyty, or Zapisuje kolumny danych.Przykłady danych użytkownik może rozwiązać kwerendy, które wykonują słabo lub mają wyjątkowo wysokie numery logicznej operacji odczytu.

Dodatkowe informacje można znaleźć zapisanie śladów do tabel, a następnie używając Transact-SQL Aby wykonać kwerendę dotyczącą danych zdarzenie. Na przykład, aby określić, które SQL:BatchCompleted zdarzenia miał czas oczekiwania nadmierne, wykonaj następujące czynności:

SELECT  TextData, Duration, CPU
FROM    trace_table_name
WHERE   EventClass = 12 -- SQL:BatchCompleted events
AND     CPU < (Duration * 1000)

Uwaga

Zaczyna się od SQL Server 2005, serwer zgłosi czas trwania zdarzenie w mikrosekundach (jeden milionowych lub 10-6, sekundy) i używane przez zdarzenie występujące w milisekundach czas PROCESORA (jeden thousandth lub 10-3, sekundy).W SQL Server 2000, serwer podać zarówno czas trwania i czas PROCESORA (w milisekundach). W SQL Server 2005 i nowszych SQL Server Profiler Wyświetla graficzny interfejs użytkownika Czas trwania Kolumna milisekund domyślnie, ale podczas śledzenia jest zapisywany w pliku lub bazie danych, Czas trwania wartość kolumny jest zapisywany w mikrosekundach.

Wyświetlanie nazw obiektów podczas wyświetlania TRACES

Jeśli chcesz wyświetlić nazwę obiektu, a nie (identyfikator obiektuIdentyfikator obiektu), należy przechwycić Nazwa serwera and Identyfikator bazy danych kolumn danych wraz z Nazwa obiektu kolumna danych.

Jeśli chcesz grupować według Identyfikator obiektu kolumna danych, upewnij się, że grupowanie według Nazwa serwera and Identyfikator bazy danych kolumna danych, a następnie według Identyfikator obiektu kolumna danych.Podobnie jeśli chcesz grupować według Identyfikator indeksu kolumna danych, upewnij się, że grupowanie według Nazwa serwera, Identyfikator bazy danych, and Identyfikator obiektu kolumna danych, a następnie według Identyfikator indeksu kolumna danych.W tym celu muszą grupy, ponieważ identyfikatory obiektów i indeks nie są unikatowe, między serwerami i bazami danych (oraz między obiektami indeksu identyfikatorów).

Znajdowanie określonych zdarzeń w ramach śledzenia

Aby znaleźć i zgrupować zdarzenia śledzenia, wykonaj następujące kroki:

  1. Tworzenie sieci śledzenia.

    • Podczas definiowania śledzenia, przechwycić Klasa zdarzenie, ClientProcessID, and Uruchom czas kolumny danych z innych kolumn danych, który chcesz przechwycić.Aby uzyskać więcej informacji zobaczHow to: Create a Trace (SQL Server Profiler).

    • Group the captured data by the Event Classdata column, and capture the trace to a file or table.Aby zgrupować przechwyconych danych, kliknij przycisk Organizowanie kolumny on the Wybieranie zdarzeń kartę w oknie dialogowym Właściwości tropu.Aby uzyskać więcej informacji zobaczHow to: Organize Columns Displayed in a Trace (SQL Server Profiler).

    • Uruchom śledzenie i zatrzymać go po odpowiednich czas minął lub przechwycone liczba zdarzeń.

  2. Znajdź zdarzenia miejsce docelowe.

    • Otwórz plik śledzenia lub tabela, a następnie rozwiń węzeł żądane klasa zdarzenia, na przykład Łańcuch zakleszczenie.Aby uzyskać więcej informacji zobacz How to: Open a Trace File (SQL Server Profiler) lub How to: Open a Trace Table (SQL Server Profiler).

    • Wyszukiwanie za pomocą dane śledzenia do momentu znalezienia zdarzenia, której szukasz (za pomocą Znajdź polecenie Edytowanie menu of SQL Server Profiler Aby znaleźć wartości w śledzenia). Note the values in the ClientProcessIDand Start Timedata columns of the events you trace.

  3. Wyświetl zdarzenia w kontekście.

    • Display the trace properties, and group by the ClientProcessIDdata column rather than by the Event Class data column.

    • Rozwiń węzły każdy identyfikator procesu klient mają być wyświetlane.Search through the trace manually, or use Find until you find the previously noted Start Timevalues of the target events.Zdarzenia są wyświetlane w porządku chronologicznym z innych zdarzeń, które należą do każdego identyfikatora klient wybranego procesu.For example, the Deadlock and Deadlock Chainevents, captured within the trace, appear immediately after the SQL:BatchStartingevents within the expanded client process ID.

Aby znaleźć wszystkie zgrupowane zdarzenia można używać tej samej techniki.Once you have found the events you seek, group them by ClientProcessID, Application Name, or another event class to view related activity in chronological order.