Никто не может помочь вам без более богатой информации:
В частности, необходимо включить некоторые флаги трассировки, чтобы SQL Server регистрировал причину, по которой он откатил данную транзакцию.
Итак, включите отслеживание тупиковой ситуации:
DBCC TRACEON(1204,1222)
(Этот параметр исчезнет при циклическом запуске сервера sql, при необходимости его можно указать в параметрах запуска)
Как только этот параметр включен, ваш журнал SQL-сервера будет содержать информацию о цепочке взаимоблокировок, она выглядит примерно так:
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
Вставьте эту информацию в свой вопрос, это важно для диагностики проблемы.