Про MAXDOP

slyke
Дата: 21.01.2009 16:50:08
Как я понял здесь селект распараллеливается, или я неправильно понял граф?
Glory
Дата: 21.01.2009 16:54:01
slyke
Как я понял здесь селект распараллеливается, или я неправильно понял граф?

При дедлоке от распараллеливания не может быть двух разных коннектов с двумя разными запросами.
Потому что при распараллеливания один коннект и один запрос
slyke
Дата: 21.01.2009 20:09:20
Но насколько я знаю Exchange Event указывате на рспараллеливание запроса...
slyke
Дата: 22.01.2009 11:05:53
Так все-таки Exchange Event указывает на распараллеливание запроса или нет? Может я не в том направлении копаю...
Glory
Дата: 22.01.2009 11:11:45
slyke
Так все-таки Exchange Event указывает на распараллеливание запроса или нет? Может я не в том направлении копаю...

У вас два разных коннекта и запроса борются за одни страницы данных. То, что один и запросов выполняется параллельнно, не влияет на то, какие страницы данных нужны этому запросу

ЗЫ
И граф лучше приводить в текстовом виде.
slyke
Дата: 22.01.2009 11:31:46
У меня все никак не получается вопроизвести этот дедлок локально, видимо процедура и селект все время разные страницы запрашивают.
Процедура тянет данные через линкованный сервер и вставляет их в таблицу из которой и делается селект во втором конекшене.
Селект выполняется с периодичностью где-то раз в 10 секунд.
Понятно, что ставить with (tablock) при инсерте вариант плохой (т.к. делается insert into ... select через линкованный сервер). У меня идея поставить with (xlock, paglock) в селекте из этой таблицы.
Тогда на время выполнения селекта на нужные страницы наложится монопольная блокировка, и если процедуре понадобиться вставить данные на те же страницы, которые монопольно заблокированы селектом, то процедура будет ждать завершения селекта, что приводит к исчезновению дедлока.
И такой вопрос: достаточно ли просто указать with (xlock)?

Или без графа в текстовом виде вам сложно что-то сказать?
tpg
Дата: 22.01.2009 11:37:56
slyke
Дата: 23.01.2009 15:04:08
У меня возникла проблема с определением объекта, id которого указывается в графе дедлока: associated objid: ... В базе обектов нету, может я не то ищу?