Analyzing Deadlocks with SQL Server Profiler
Użycie SQL Server Profiler do zidentyfikowania przyczyny zakleszczenie. Zakleszczenie występuje wówczas, gdy istnieje zależność cykliczną między dwoma lub więcej wątków lub procesów, dla niektórych zestaw zasobów w programie SQL Server.Za pomocą SQL Server Profiler, można utworzyć śledzenia, które rejestruje, replays i wyświetla zdarzenia zakleszczenie do analizy.
Aby śledzić zdarzenie zakleszczenia, należy dodać Zakleszczenie wykresu klasa zdarzenia do śledzenia.This event class populates the TextData data column in the trace with XML data about the process and objects that are involved in the deadlock.SQL Server Profiler can extract the XML document to a deadlock XML (.xdl) file which you can view later in SQL Server Management Studio.Można skonfigurować SQL Server Profiler Aby wyodrębnić Zakleszczenie wykresu pojedynczy plik, który zawiera wszystkie zdarzeniaZakleszczenie wykresu zdarzeń, lub do oddzielnych plików.To wyodrębniania można wykonać w dowolnym z następujących sposobów:
W konfiguracja śledzenia czas, za pomocą Ustawienia wyodrębniania zdarzeń tab.Należy zauważyć, że ta karta nie jest wyświetlany do momentu zaznaczenia Zakleszczenie wykresu zdarzenie na Wybieranie zdarzeń tab.
Za pomocą wyodrębnić zdarzenia serwera SQL Opcja Plik menu.
Można również pojedynczych zdarzeń wyodrębniane i zapisany, klikając prawym przyciskiem myszy określonego zdarzenie i wybierając polecenie Wyodrębnij dane zdarzeń.
Wykresy zakleszczenie
SQL Server Profiler i SQL Server Management Studio za pomocą oczekiwania zakleszczenie — dla wykresu do opisania zakleszczenia. Podczas oczekiwania zakleszczenie — dla wykresu zawiera węzły procesu, węzły zasób i krawędzi reprezentujące relacje między procesy i zasobami.Składniki oczekiwania — w wykresach są zdefiniowane w tabela poniżej:
Węzeł procesu
Wątek wykonuje zadania; na przykład, INSERT, UPDATE lub DELETE.Węzeł zasób
Obiekt bazy danych; na przykład tabela, indeks lub wiersza.Krawędź
Relacje między procesem i zasób.A request krawędź występuje wówczas, gdy proces czeka na zasób. An owner edge occurs when a zasób waits for a process. Tryb blokada znajduje się w opisie krawędzi.Na przykład Tryb: X.Aby uzyskać informacje dotyczące możliwych wartości, które wyznaczyć blokada trybów zobacz Tryby blokada.
Węzeł proces zakleszczenie
Oczekiwania - dla wykresu węzeł procesu zawiera informacje na temat procesu.W poniższej tabela wyjaśniono składniki procesu.
Składnik |
Definicja |
---|---|
Identyfikator procesu serwera |
Identyfikator procesu serwera (SPID), serwer przypisany identyfikator procesu posiadającego blokadę. |
Serwer partia identyfikator |
Identyfikator serwera partia (SBID). |
Kontekst wykonywania identyfikator |
Identyfikator kontekstu wykonania (ECID).Identyfikator kontekstu wykonanie danej wątek skojarzone z określonym SPID. ECID = {0,1,2,3, ... n}, where 0 always represents the main or parent thread, and {1,2,3, ... n} represent the subthreads. |
Priorytet zakleszczenie |
Priorytet zakleszczenie w procesie.Aby uzyskać więcej informacji na temat możliwych wartości zobacz SET DEADLOCK_PRIORITY (Transact-SQL). |
Dziennik używany |
Ilość miejsca w dzienniku używany przez proces. |
Identyfikator właściciela |
Identyfikator transakcji dla procesów, które są przy użyciu transakcji i obecnie trwa oczekiwanie na blokadę. |
Transakcja deskryptora |
Wskaźnik do deskryptora transakcji, które opisują stan transakcji. |
Bufor wejściowy |
Dane wejściowe buforu bieżącego procesu, definiuje typ zdarzenie oraz w instrukcja wykonywany.Możliwe wartości to:
|
Instrukcja |
Typ instrukcja.Możliwe wartości to:
|
Zakleszczenie zasób węzła
Zakleszczenie dwa procesy są każdego oczekiwania zasób przez inny proces.Na wykresie zakleszczenie zasoby są wyświetlane jako węzły zasób.Każdy zasób zostanie jeden z typów na liście Lock Granularity and Hierarchies.
See Also