Дедлок, похоже при распараллеливании

slyke
Дата: 30.01.2009 14:26:44
Добрый день,

Я опять с дедлоками ). К сожалению текстового графа нету, дали пока только графический. По нему у меня несколько вопросов.
1) Exchange Event - насколько я понимаю это указыват на распараллеливание запроса, в BOL написано что это "communication buffers in a parallel query plan have been temporarily written to the tempdb database". Поправьте если я ошибаюсь.
Все дедлоки связаны с апдейтом записей в одной таблице. Ниже самый простой граф дедлока: 88-ой процесс вызывает процедуру, которая апдейтит как правило одну запись; про 354-ый процесс ничего неизвестно, но судя по типу блокировки U, происходит апдейт записи на той же странице.
2) Исходя из вышесказанного я думаю, что если указать option (maxdop 1) в стэйтменте update в теле процедуры, то дедлок должен пропасть.
Что вы думаете по этому поводу?