Spisu treści:

Co powoduje zakleszczenia bazy danych?
Co powoduje zakleszczenia bazy danych?

Wideo: Co powoduje zakleszczenia bazy danych?

Wideo: Co powoduje zakleszczenia bazy danych?
Wideo: What Are Database Deadlocks 2024, Listopad
Anonim

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. Większość ludzi to napisze impasy nie da się uniknąć w trybie wielu użytkowników Baza danych.

Co to są zakleszczenia w bazie danych?

Zakleszczenia . W Baza danych , a impas to sytuacja, w której dwie lub więcej transakcji czeka na siebie na zwolnienie blokady. Na przykład Transakcja A może blokować niektóre wiersze w tabeli Konta i musi zaktualizować niektóre wiersze w tabeli Zamówienia, aby zakończyć.

Wiedz też, czy wybór może spowodować impas? 2 odpowiedzi. Impas dzieje się tak, gdy jedno zapytanie blokuje obiekt (wiersze, strony danych, zakres, tabele itp.), a inny zasób próbuje uzyskać do niego dostęp. Najmniejszą jednostką w SQL Server są strony danych, a SQL blokuje strony podczas pracy nad nimi. Więc tak, możliwe, że dwa Wybierz oświadczenie Móc Stwórz impas.

Dodatkowo, jak możemy zapobiec impasowi w bazie danych?

Wskazówki dotyczące unikania impasów

  1. Upewnij się, że projekt bazy danych jest prawidłowo znormalizowany.
  2. Twórz aplikacje, aby za każdym razem uzyskiwać dostęp do obiektów serwera w tej samej kolejności.
  3. Nie zezwalaj na wprowadzanie danych przez użytkownika podczas transakcji.
  4. Unikaj kursorów.
  5. Transakcje powinny być jak najkrótsze.

Jak naprawić impas?

Inteligentny programista musi wykonać następujące kroki, aby wyjść z impasu:

  1. Sprawdź numer błędu 1205, gdy zostanie zgłoszony wyjątek.
  2. Wstrzymaj aplikację na chwilę, aby dać drugiemu zapytaniu czas na zakończenie transakcji i zwolnienie nabytych blokad.
  3. Ponownie prześlij zapytanie, które zostało wycofane przez program SQL Server.

Zalecana: