Personne ne peut vous aider sans information plus riche:
En particulier, vous devez activer certains indicateurs de suivi de sorte SQL Server consignera la raison pour laquelle il a roulé la transaction en question.
Ainsi, activer le traçage de blocage:
DBCC TRACEON(1204,1222)
(Ce paramètre disparaîtra lorsque vous cycle de SQL Server, vous pouvez le spécifier dans les options de démarrage si nécessaire)
Une fois ce paramètre est activé, votre journal du serveur SQL contiendra des informations sur la chaîne de blocage, il ressemble à ceci:
2003-05-14 11:46:26.76 spid4 Starting deadlock search 1
2003-05-14 11:46:26.76 spid4 Target Resource Owner:
2003-05-14 11:46:26.76 spid4 ResType:LockOwner Stype:'OR' Mode: S SPID:55 ECID:0 Ec:(0x43CAB580) Value:0x42bdf340
2003-05-14 11:46:26.76 spid4 Node:1 ResType:LockOwner Stype:'OR' Mode: S SPID:55 ECID:0 Ec:(0x43CAB580) Value:0x42bdf340
2003-05-14 11:46:26.76 spid4
2003-05-14 11:46:26.76 spid4 End deadlock search 1 ... a deadlock was not found.
2003-05-14 11:46:26.76 spid4 ----------------------------------
2003-05-14 11:46:31.76 spid4 ----------------------------------
2003-05-14 11:46:31.76 spid4 Starting deadlock search 2
Coller cette information sur votre question, il est essentiel de dia résoudre le problème.
plus d'infos s'il vous plaît, comme le plan d'exécution et les index sur la table –