239
7.5 Blocages et deadlocks
comme victime. Le drapeau 1222 affiche les informations dans un ordre différent, et
donne plus d’informations sur les deux sessions concernées par le deadlock.
Vous pouvez également tracer les deadlocks avec le profiler, et obtenir une vue
graphique de la chaîne. Les événements Lock:Deadlock, Lock:Deadlock Chain et
Lock:Deadlock Graph vous indiquent l’apparition d’une deadlock, la chaîne de résolution, et un détail en format XML. Vous trouverez en figure 7.7 les événements lors
d’un deadlock.
Figure 7.7 — Deadlock graph
Vous voyez que la chaîne de deadlock et le graph, sont des événements déclenchés
par le système, sur des SPID inférieurs à 50 (donc des spids système). La colonne
EventSequence permet de trier correctement la séquence d’événements. Un certain
nombre de colonnes ajoutent des informations. Nous voyons ici IntegerData, qui
retourne un numéro de deadlock – SQL Server leur attribue un numéro incrémentiel
– et Type indique sur quelle ressource de verrouillage il s’est produit. L’événement
Deadlock graph s’affiche graphiquement dans le profiler. Vous voyez les ressources en
jeu, les types de verrous posés, sur quelques objets. La victime est marquée d’une
croix. En laissant votre souris sur un des processus, vous obtenez l’inputbuffer en tooltip.
Maintenant que vous avez tous les éléments en main, vous pouvez dire à vos deadlock, comme John T. Chance : « Sorry don’t get it done, Dude. That’s the second time
you hit me. Don’t ever do it again ».
7.5 Blocages et deadlocks
comme victime. Le drapeau 1222 affiche les informations dans un ordre différent, et
donne plus d’informations sur les deux sessions concernées par le deadlock.
Vous pouvez également tracer les deadlocks avec le profiler, et obtenir une vue
graphique de la chaîne. Les événements Lock:Deadlock, Lock:Deadlock Chain et
Lock:Deadlock Graph vous indiquent l’apparition d’une deadlock, la chaîne de résolution, et un détail en format XML. Vous trouverez en figure 7.7 les événements lors
d’un deadlock.
Figure 7.7 — Deadlock graph
Vous voyez que la chaîne de deadlock et le graph, sont des événements déclenchés
par le système, sur des SPID inférieurs à 50 (donc des spids système). La colonne
EventSequence permet de trier correctement la séquence d’événements. Un certain
nombre de colonnes ajoutent des informations. Nous voyons ici IntegerData, qui
retourne un numéro de deadlock – SQL Server leur attribue un numéro incrémentiel
– et Type indique sur quelle ressource de verrouillage il s’est produit. L’événement
Deadlock graph s’affiche graphiquement dans le profiler. Vous voyez les ressources en
jeu, les types de verrous posés, sur quelques objets. La victime est marquée d’une
croix. En laissant votre souris sur un des processus, vous obtenez l’inputbuffer en tooltip.
Maintenant que vous avez tous les éléments en main, vous pouvez dire à vos deadlock, comme John T. Chance : « Sorry don’t get it done, Dude. That’s the second time
you hit me. Don’t ever do it again ».
