Un interblocage se produit lorsque 2 processus sont en concurrence pour l'accès exclusif à une ressource mais sont incapables d'obtenir un accès exclusif à celle-ci parce que l'autre processus l'en empêche. … SQL Server détecte automatiquement les interblocages et prend des mesures en tuant l'un des processus connus sous le nom de victime.
Pourquoi un blocage se produit-il ?
Deux processus en concurrence pour deux ressources dans un ordre opposé. … Le processus ultérieur doit attendre. Un blocage se produit lorsque le premier processus verrouille la première ressource en même temps que le deuxième processus verrouille la deuxième ressource Le blocage peut être résolu en annulant et en redémarrant le premier processus.
Comment pouvons-nous éviter les blocages dans SQL Server ?
Moyens utiles pour éviter et minimiser les blocages SQL Server
- Essayez de faire des transactions courtes; cela évitera de détenir des verrous dans une transaction pendant une longue période.
- Accéder aux objets d'une manière logique similaire dans plusieurs transactions.
- Créer un index de couverture pour réduire la possibilité d'un blocage.
Qu'est-ce qu'un blocage dans SQL Server ?
L'interblocage SQL Server est essentiellement une impasse entre deux processus qui se disputent l'accès exclusif à la même ressource. Étant donné qu'un seul processus peut utiliser une ressource à la fois, les performances ralentissent jusqu'à ce que le blocage soit résolu.
Comment résoudre un blocage ?
La fréquence des interblocages peut parfois être réduite en s'assurant que toutes les applications accèdent à leurs données communes dans le même ordre - ce qui signifie, par exemple, qu'elles accèdent (et donc verrouillent) les lignes dans Tableau A, suivi du tableau B, suivi du tableau C, et ainsi de suite.