Cuprins:

Ce cauzează blocajele bazei de date?
Ce cauzează blocajele bazei de date?

Video: Ce cauzează blocajele bazei de date?

Video: Ce cauzează blocajele bazei de date?
Video: Cum scap de un blocaj mental şi energetic?🔘Drumul către noi 2024, Noiembrie
Anonim

A impas se întâmplă atunci când două (sau mai multe) tranzacții se blochează reciproc prin blocarea resurselor de care are nevoie și fiecare dintre tranzacții. De exemplu: Tranzacția 1 deține un blocare pe Tabelul A. Majoritatea oamenilor vor scrie asta blocaje nu poate fi evitată într-un multi-utilizator Bază de date.

De aici, ce sunt blocajele în baza de date?

Blocaje . Într-o Bază de date , A impas este o situație în care două sau mai multe tranzacții se așteaptă una pe cealaltă să renunțe la blocări. De exemplu, Tranzacția A poate bloca unele rânduri din tabelul Conturi și trebuie să actualizeze unele rânduri din tabelul Comenzi pentru a finaliza.

De asemenea, știți, poate o selectare să provoace un impas? 2 Răspunsuri. Impas se întâmplă atunci când o interogare dobândește o blocare pe un obiect (rânduri, pagini de date, extindere, tabele etc) și altă resursă încearcă să îl acceseze. Cea mai mică unitate din SQL Server sunt paginile de date, iar SQL deține o blocare a paginii în timp ce lucrează la ea. Deci, da, este posibil ca două Selectați afirmație poate sa crea impas.

În plus, cum putem preveni blocarea în baza de date?

Sfaturi pentru evitarea blocajelor

  1. Asigurați-vă că designul bazei de date este normalizat corespunzător.
  2. Dezvoltați aplicații pentru a accesa obiectele serverului în aceeași ordine de fiecare dată.
  3. Nu permiteți nicio intrare de utilizator în timpul tranzacțiilor.
  4. Evitați cursoarele.
  5. Păstrați tranzacțiile cât mai scurte posibil.

Cum remediați un impas?

Un dezvoltator inteligent trebuie să facă următorii pași pentru a reveni dintr-un impas:

  1. Verificați eroarea numărul 1205, atunci când este aruncată o excepție.
  2. Întrerupeți scurt aplicația pentru a acorda celeilalte interogări timp să își finalizeze tranzacția și să elibereze blocările dobândite.
  3. Retrimiteți interogarea, care a fost anulată de SQL Server.

Recomandat: