В контекста на заключването, таблиците и свързаните с тях индекси са отделни обекти. Понякога мъртвото заключване се случва между таблица и нейния индекс, а не между две отделни таблици.
Проблемът най-вероятно е, когато се получи заключване на индекс и след това се получи друго заключване на свързаната таблица (т.е. лента), за да се извърши търсене на данни. По време на вмъкването това ще се случи в обратния ред. Първо таблицата (т.е. лентата) се заключва и актуализира, след което се заключват индексите.
select foo
from bar
where @someId = 0 OR SomeId = @someId
Имате ли/можете ли да добавите покриващ индекс (за да помогнете при избора), който съдържа както SomeId, така и foo? По този начин ще избегнете напълно търсенето и ще спрете възникването на проблема.
Можете ли да публикувате плановете на заявките, а не блокировките?