Je me suis retrouvé dans une situation d'interblocage où j'ai du mal à trouver la cause ... Le graphique Deadlock suggère qu'une instruction UPDATE est devenue la victime sur une instruction SELECT ... que l'instruction uPDATE tente d'acquérir un index sur une autre table qui est jamais mentionné dans la déclaration de mise à jour ...Problème de verrou de SQL Server 2008
Voici comment mon instruction uPDATE ressemble ...
UPDATE Table set col1 = @P1 where col2 = @P2
Cette déclaration a acquis une X verrouille l'index col2, mais tente également d'acquérir un index sur une colonne définie dans une autre table qui n'est aucunement liée à l'U Instruction PDATE ...
Et l'instruction SELECT qui a remporté la situation de blocage n'a rien à voir avec la table ou l'index dans l'instruction update mais a essayé d'acquérir un index sur la table dans l'instruction UPDATE. causant finalement le DEADLOCK.
Vous voudrez peut-être vérifier vos contraintes et dépendances. Peut-être que la table verrouillée par UPDATE a une contrainte ou un déclencheur ou quelque chose qui le modifie lorsque votre table UPDATE est modifiée. – tloflin