Informacje o zakleszczeniu mogą być przechwycone w dzienniku błędów programu SQL Server lub za pomocą narzędzia Profiler/śledzenia po stronie serwera.
Jak monitorować zakleszczenia programu SQL Server?
Wyświetl graficzną reprezentację zdarzenia impasu
- Otwórz zdarzenie impasu w Podglądzie zdarzeń.
- Na karcie Ogólne przejdź do sekcji raportu XML o zakleszczeniach programu SQL Server, a następnie skopiuj tekst ze znacznika zakleszczenia (wraz z tagiem początkowym i końcowym) do edytora tekstu, takiego jak Notatnik lub Visual Studio Code.
- Zapisz plik jako.
Jak SQL Server radzi sobie z zakleszczeniami?
Ustaw priorytety zakleszczenia za pomocą zmiennej sesji SET DEADLOCK_PRIORITY. Jeśli ustawisz priorytet zakleszczenia, SQL Server zabija sesję z najniższym priorytetem zakleszczenia. Wykorzystaj obsługę błędów za pomocą bloków try-catch Możesz złapać błąd zakleszczenia i ponownie uruchomić transakcję w przypadku ofiary zakleszczenia.
Czy blokada SQL Server jest zakleszczona?
Występuje błąd „Transakcja była zakleszczona” gdy dwie lub więcej sesji czeka na blokadę zasobu, który został już zablokowany przez inną sesję w tym samym łańcuchu blokowania Jako w rezultacie żadna z sesji nie może zostać zakończona i SQL Server musi interweniować, aby rozwiązać ten problem. … Ponownie uruchom transakcję.
Jak sprawdzić, czy w SQL Server są jakieś blokady?
Aby uzyskać informacje o blokadach aparatu bazy danych programu SQL Server, użyj przycisku sys. dm_tran_locks widok dynamicznego zarządzania.