Exploitation SQL Server

Deadlocks SQL Server : du graphe à la cause racine

Un deadlock est un cycle où des sessions détiennent des ressources nécessaires aux autres. SQL Server termine un participant, mais la victime n'est pas forcément la cause.

Deadlocks SQL Server : du graphe à la cause racine

Un deadlock est un cycle où des sessions détiennent des ressources nécessaires aux autres. SQL Server termine un participant, mais la victime n'est pas forcément la cause.

Ce qu'il faut mesurer

Capturez le XML avec Extended Events. Examinez processus, ressources, modes de verrouillage, instructions, transactions et victime, puis reliez chaque instruction à l'opération applicative.

Approche pratique

Accédez aux objets dans un ordre cohérent, raccourcissez les transactions, améliorez les accès lorsque cela est justifié et prévoyez des nouvelles tentatives limitées pour l'erreur 1205.

Ce qu'il faut éviter

N'utilisez pas NOLOCK comme remède universel, n'accusez pas seulement la victime et ne conservez pas uniquement une capture d'écran du graphe.

Résultat opérationnel

La correction durable supprime ou raccourcit le cycle. Les nouvelles tentatives protègent l'utilisateur sans remplacer l'analyse de fond.

Checklist de production

Établissez une référence et définissez l'amélioration attendue. Testez avec des données et une concurrence représentatives. Conservez la configuration ou le plan d'origine, préparez un retour arrière et surveillez le prochain pic normal de charge.

Pour appliquer cette méthode à un environnement SQL Server précis, utilisez le formulaire ci-dessous et indiquez la version, la taille de la base, le profil de charge et les éléments déjà collectés.

Question sur cet article

Vous avez une question sur ce sujet ?

Expliquez ce que vous évaluez ou le point qui vous bloque. Nous vous répondrons avec une recommandation pratique.

Inquiries are not enabled in this preview.

Poser une question sur cet article