Table des matières:

Quelles sont les causes des blocages de base de données ?
Quelles sont les causes des blocages de base de données ?

Vidéo: Quelles sont les causes des blocages de base de données ?

Vidéo: Quelles sont les causes des blocages de base de données ?
Vidéo: DOMINE LES 7 RAISONS QUI CRÉENT DE GROS BLOCAGES DANS TA VIE | Pasteur Mohammed SANOGO 2024, Novembre
Anonim

UNE impasse se produit lorsque deux transactions (ou plus) se bloquent en maintenant des verrous sur les ressources dont chacune des transactions a également besoin. Par exemple: la transaction 1 détient un verrou sur la table A. La plupart des gens écriront que impasses ne peut pas être évité dans un multi-utilisateur base de données.

Ici, qu'est-ce que les blocages dans la base de données ?

Blocages . Dans un base de données , une impasse est une situation dans laquelle deux transactions ou plus s'attendent l'une l'autre pour abandonner les verrous. Par exemple, la transaction A peut détenir un verrou sur certaines lignes de la table Accounts et doit mettre à jour certaines lignes de la table Orders pour terminer.

Sachez également qu'une sélection peut provoquer un blocage ? 2 réponses. Impasse se produit lorsqu'une requête acquiert un verrou sur un objet (lignes, pages de données, étendue, tables, etc.) et qu'une autre ressource essaie d'y accéder. La plus petite unité de SQL Server est la page de données et SQL détient un verrou sur la page tout en travaillant dessus. Donc, oui il est possible que deux sélectionner déclaration pouvez créer impasse.

De plus, comment pouvons-nous empêcher le blocage dans la base de données ?

Conseils pour éviter les blocages

  1. Assurez-vous que la conception de la base de données est correctement normalisée.
  2. Développez des applications pour accéder aux objets serveur dans le même ordre à chaque fois.
  3. N'autorisez aucune saisie de l'utilisateur pendant les transactions.
  4. Évitez les curseurs.
  5. Gardez les transactions aussi courtes que possible.

Comment résoudre un blocage ?

Un développeur intelligent doit suivre les étapes suivantes pour sortir d'un blocage:

  1. Recherchez le numéro d'erreur 1205, lorsqu'une exception est levée.
  2. Suspendez brièvement l'application pour donner à l'autre requête le temps de terminer sa transaction et de libérer ses verrous acquis.
  3. Soumettez à nouveau la requête, qui a été annulée par SQL Server.

Conseillé: