Les informations sur les interblocages peuvent être capturées dans le journal des erreurs SQL Server ou en utilisant Profiler / Server Side Trace.
Comment surveiller les interblocages SQL Server ?
Afficher une représentation graphique de l'événement de blocage
- Ouvrir l'événement de blocage dans l'Observateur d'événements.
- Sur l'onglet Général, accédez à la section du rapport XML sur les interblocages SQL Server, puis copiez le texte de la balise d'interblocage (y compris les balises de début et de fin) dans un éditeur de texte tel que le Bloc-notes ou Visual Studio Code.
- Enregistrer le fichier en tant que.
Comment SQL Server gère-t-il les interblocages ?
Définissez les priorités d'interblocage à l'aide de la variable de session SET DEADLOCK_PRIORITY. Si vous définissez la priorité d'interblocage, SQL Server tue la session avec la priorité d'interblocage la plus basse. Utilisez la gestion des erreurs à l'aide des blocs try-catch Vous pouvez piéger l'erreur d'interblocage et réexécuter la transaction en cas de victime d'interblocage.
Le verrou SQL Server est-il bloqué ?
« La transaction a été bloquée » se produit lorsque deux ou plusieurs sessions attendent d'obtenir un verrou sur une ressource qui a déjà été verrouillée par une autre session dans la même chaîne de blocage En tant que Par conséquent, aucune des sessions ne peut être terminée et SQL Server doit intervenir pour résoudre ce problème. … Réexécutez la transaction.
Comment vérifier s'il y a des verrous dans SQL Server ?
Pour obtenir des informations sur les verrous dans le moteur de base de données SQL Server, utilisez le fichier sys. vue de gestion dynamique dm_tran_locks.