Spisu treści:

Jak można zatrzymać zakleszczenie w programie SQL Server?
Jak można zatrzymać zakleszczenie w programie SQL Server?

Wideo: Jak można zatrzymać zakleszczenie w programie SQL Server?

Wideo: Jak można zatrzymać zakleszczenie w programie SQL Server?
Wideo: SQL Server deadlock analysis and prevention 2024, Listopad
Anonim

Wskazówki dotyczące unikania impasy

Robić nie zezwalaj na wprowadzanie danych przez użytkownika podczas transakcji. Unikać kursory. Trzymać transakcje jak najkrótsze. Zmniejsz liczbę podróży w obie strony między aplikacją a Serwer SQL stosując procedury składowane lub przechowując transakcje w ramach jednej partii

Pojawia się również pytanie, jak możemy zmniejszyć zakleszczenie w SQL Server?

Uzyskaj dostęp do obiektów w tej samej kolejności

  1. Uzyskaj dostęp do obiektów w tej samej kolejności.
  2. Unikaj interakcji użytkownika w transakcjach.
  3. Utrzymuj krótkie transakcje w jednej partii.
  4. Użyj niższego poziomu izolacji.
  5. Użyj poziomu izolacji opartego na wersji wiersza.

Ponadto, co powoduje zakleszczenie w programie SQL Server? ten Przyczyna z każdego Zakleszczenie w SQL Server A impas Dzieje się tak, gdy dwie (lub więcej) transakcje blokują się wzajemnie, utrzymując blokady na zasobach, których każda z transakcji również potrzebuje. Na przykład: Transakcja 1 blokuje tabelę A. Zakleszczenia może obejmować więcej niż dwie transakcje, ale dwie są najczęstszym scenariuszem.

Jak więc rozwiązać impas?

ten impas może być rozwiązany łamiąc symetrię.

Dwa procesy konkurujące o dwa zasoby w odwrotnej kolejności.

  1. Przechodzi jeden proces.
  2. Późniejszy proces musi poczekać.
  3. Zakleszczenie występuje, gdy pierwszy proces blokuje pierwszy zasób w tym samym czasie, gdy drugi proces blokuje drugi zasób.

Jak analizować zakleszczenie w programie SQL Server?

Śledzić impas wydarzenia, dodaj Impas wykres klasy zdarzenia do śledzenia. Ta klasa zdarzeń wypełnia kolumnę danych TextData w śledzeniu danymi XML dotyczącymi procesu i obiektów zaangażowanych w impas . Serwer SQL Profiler może wyodrębnić dokument XML do impas XML (.

Zalecana: