it-swarm-fr.com

Graphique de blocage SQL Server - table, page ou verrouillage de ligne?

Y a-t-il un moyen de déchiffrer si un verrouillage dans un graphique d'impasse est la table, la page ou le niveau de ligne? J'ai toutes les informations dont j'ai besoin du graphique, y compris le niveau d'isolement, (2) mais je veux vraiment le savoir aussi.

Merci à quiconque peut aider!

10
tuseau

Dans le graphique deadlock XML, vous verrez quelque chose comme:

<deadlock-list>
  <deadlock victim="...">
    <process-list>
      <process id="..." ... waitresource="X:..."
...

Le X est le bit intéressant, les valeurs possibles que vous êtes intéressé sont:

  • RID pour l'ID de la ligne (verrouillage de niveau de ligne)
  • PAG pour verrouillage de niveau de page
  • OBJECT (qui peut être encore qualifié TAB indiquant une serrure de table)

Il y a quelques types d'autres types énumérés dans la documentation aussi.

13
Gaius