Przede wszystkim, czym jest impas? Zakleszczenie występuje, gdy dwie lub więcej transakcji blokuje nawzajem swoje postępy, ponieważ jedna transakcja ma blokadę na obiekcie bazy danych, do którego inne potrzebują dostępu. Stwarza to twarde zatrzymanie wszelkiego rodzaju postępu, ponieważ każdy proces może czekać na zablokowany obiekt przez nieokreślony czas. SQL Server wkracza, aby przerwać impas, zabijając jeden lub więcej zablokowanych procesów. Niefortunne procesy, które zostały zabite, muszą zaczynać się od nowa.
Większość administratorów baz danych ma trudności z zlokalizowaniem zakleszczenia (lub próbuje dowiedzieć się, czy zakleszczenie jest w ogóle tym, co się wydarzyło), ponieważ jest to bardzo czasochłonne. Często do czasu zlokalizowania impasu mogło wystąpić jeszcze kilka, pogłębiając problem. Nawet jeśli zorientujesz się, że nastąpiło zakleszczenie, naprawienie go jest prawie niemożliwe bez znajomości tego, co zostało zablokowane, rodzaju typu blokady żądanego przez każdy proces i jakie sesje były zaangażowane.
Funkcje takie jak analiza zakleszczeń są zwykle widoczne tylko w drogich narzędziach monitorujących „na poziomie przedsiębiorstwa”. Jednak nasi programiści w Spotlight Cloud rozumieją, że czasami administratorzy baz danych nie monitorują setek serwerów SQL — czasami jest to tylko 1 lub 2. Dlatego z radością ogłaszamy, że analiza zakleszczeń jest teraz dołączona jako standardowa funkcja w naszym hostowanym narzędziu do monitorowania, Spotlight Cloud Professional. Oto jak to działa.
Dzięki analizie zakleszczeń Spotlight Cloud SQL Server będziesz w stanie uzyskać dostęp do wszystkich danych dotyczących wydajności wymaganych do identyfikacji i rozwiązywania zakleszczeń oraz poprawy wydajności bazy danych.
Pulpit nawigacyjny Deadlock Analysis w Spotlight Cloud pokazuje pełny widok zakleszczeń w środowisku SQL Server. Tutaj można wyświetlić wszystkie procesy i zasoby dotknięte zakleszczeniem na jednym ekranie, zobaczyć podsumowanie liczby zakleszczeń w określonych ramach czasowych, czasu utraty każdego procesu w wyniku zakleszczenia, powiązanego kodu SQL oraz które procesy stały się ofiarami rozwiązania zakleszczeń programu SQL Server.
W przeglądzie alarmów można zobaczyć wszystkie alarmy związane z zakleszczeniem. Kliknięcie alarmu powoduje wyświetlenie podsumowania liczby zakleszczeń, liczby sesji poświęconych jako ofiary oraz całkowitego czasu straconego z powodu rozwiązania zakleszczeń. Oprócz wszystkich informacji wymienionych powyżej, zobaczysz najbardziej dotknięte sesje, bazy danych i obiekty.
Podsumowanie
Spotlight Cloud Deadlock Analysis umożliwia przeglądanie sesji i programów, które były uruchomione podczas incydentu zakleszczenia. Na pulpicie zobaczysz dokładny tekst SQL, który został wykonany przez ten konkretny program. Kiedy zagłębisz się w ten kod SQL, możesz określić, dlaczego był zablokowany i co jeszcze próbowało go w tym czasie przechwycić. Możesz także filtrować według typu blokady – wiersz, klucz, strona, identyfikator SPID itp. Dzięki typowi blokady, zaangażowanemu obiektowi, zaangażowanemu tekstowi instrukcji i sesji, będziesz w stanie złożyć razem wszystkie zakleszczenie i rozpoczęcie rozwiązywania.
Dzięki analizie zakleszczeń Spotlight Cloud możesz…
- Wyświetl/edytuj oś czasu zakleszczenia i żądania przepustowości na sekundę w łatwej do odczytania tabeli.
- Filtrowanie oparte na bazach danych, programach, użytkownikach i obiektach, aby można było zidentyfikować główną przyczynę zabitych procesów. Na przykład, jeśli określony obiekt, być może tabela w bazie danych, był niedostępny z powodu zakleszczenia.
- Zidentyfikuj wszystkie sesje, powiązany program i wszystkie ofiary związane z określonym impasem.
- Zobacz listę obiektów żądanych przez każdą sesję i żądany typ blokady
- Zobacz dokładny tekst SQL, który został wykonany przez konkretny program.
Dlatego zamiast spędzać godziny na próbach znalezienia impasu, wypróbuj 30-dniową wersję próbną Spotlight Cloud Professional, aby zmaksymalizować czas i zasoby.