Taula de continguts:

Què causa els bloquejos de bases de dades?
Què causa els bloquejos de bases de dades?

Vídeo: Què causa els bloquejos de bases de dades?

Vídeo: Què causa els bloquejos de bases de dades?
Vídeo: DUERME SANANDO CUERPO y EMOCIONES 🟠 Meditaciones para Dormir y Sanar 2024, De novembre
Anonim

A bloqueig Succeeix quan dues (o més) transaccions es bloquegen mútuament mantenint bloquejos als recursos que cada una de les transaccions també necessita. Per exemple: la transacció 1 té un bloqueig a la taula A. La majoria de la gent ho escriurà estancaments no es pot evitar en un multiusuari base de dades.

Per tant, què són els bloquejos a la base de dades?

Bloquejos . En a base de dades , a bloqueig és una situació en què dues o més transaccions s'esperen mútuament per renunciar als bloquejos. Per exemple, la transacció A pot mantenir un bloqueig en algunes files de la taula Comptes i necessita actualitzar algunes files de la taula Comandes per acabar.

Sapigueu també, pot una selecció provocar un bloqueig? 2 respostes. Bloqueig Succeeix quan una consulta adquireix un bloqueig en un objecte (files, pàgines de dades, extensió, taules, etc.) i un altre recurs intenta accedir-hi. La unitat més petita d'SQL Server són les pàgines de dades i SQL manté un bloqueig a la pàgina mentre hi treballa. Per tant, sí que és possible que dos seleccionar declaració llauna crear bloqueig.

A més, com podem evitar el bloqueig a la base de dades?

Consells per evitar bloquejos

  1. Assegureu-vos que el disseny de la base de dades estigui correctament normalitzat.
  2. Desenvolupeu aplicacions per accedir als objectes del servidor en el mateix ordre cada vegada.
  3. No permeteu l'entrada de cap usuari durant les transaccions.
  4. Eviteu els cursors.
  5. Mantingueu les transaccions el més curtes possible.

Com es soluciona un bloqueig?

Un desenvolupador intel·ligent ha de fer els passos següents per recuperar-se d'un bloqueig:

  1. Comproveu l'error número 1205, quan es produeix una excepció.
  2. Atureu l'aplicació breument per donar temps a l'altra consulta per completar la transacció i alliberar els bloquejos adquirits.
  3. Torneu a enviar la consulta, que SQL Server ha desfet.

Recomanat: