Взаимная блокировка параллельных потоков SQL Server не генерирует график взаимоблокировок

У меня очень странная проблема... Я пытаюсь решить некоторые тупиковые ситуации на производственном сервере SQL Server 2008 R2 RTM.

Я использую флаг трассировки 1222 ( и старый добрый 1204), чтобы получить подробную информацию о запросах и задействованных объектах.

Это работало как чудо для большинства взаимоблокировок, пока я не наткнулся на взаимоблокировку параллельных потоков внутри запроса.

Флаг трассировки 1204 записывает информацию о взаимоблокировке в файл журнала сервера, а T1222 - нет. Я также попытался использовать событие "График тупиков" в трассировке Profiler, но безуспешно, тупик тоже не обнаружен.

Поэтому у меня нет возможности узнать, какой запрос вызывает этот раздражающий тупик.

У вас есть идея, почему флаг трассировки 1222 ничего не отслеживает? и как я могу определить ошибочный запрос??

Я искал ответы в Интернете в течение нескольких дней... и не мог найти пост о подобной проблеме.

Большое спасибо за ваш совет!

Крис

РЕДАКТИРОВАТЬ: Вот трассировка от флага трассировки 1204:

Deadlock encountered .... Printing deadlock information
Wait-for graph
NULL
Node:1  
Port: 0x000000044E7E3980  Xid Slot: 31, Wait Slot: 13, Task: 0x0000000004380BC8, (Producer),     Exchange Wait Type: e_waitPipeNewRow, Merging: 1
 ResType:ExchangeId Stype:'AND' SPID:951 BatchID:0 ECID:51 TaskProxy:(0x00000001DB203220)     Value:0x4380bc8 Cost:(20/0)
   SPID: 951 ECID: 51 Statement Type: SELECT Line #: 123
   Input Buf: No Event: 
NULL
Node:2  
Port: 0x00000003F0D1D060  Xid Slot: 18, Wait Slot: 11, Task: 0x0000000004DBFB88, (Producer),     Exchange Wait Type: e_waitPipeNewRow, Merging: 1
 ResType:ExchangeId Stype:'AND' SPID:951 BatchID:0 ECID:2 TaskProxy:(0x000000023BF8DEE0)     Value:0x4dbfb88 Cost:(20/0)
NULL
Node:3  
Port: 0x000000043E40C500  Xid Slot: 13, Wait Slot: 18, Task: 0x0000000005037DC8, (Consumer),     Exchange Wait Type: e_waitPipeGetRow, Merging: 0
 ResType:ExchangeId Stype:'AND' SPID:951 BatchID:0 ECID:33 TaskProxy:(0x00000001DB202B60)     Value:0x5037dc8 Cost:(0/10000)
NULL
Node:4  
Port: 0x00000002DF5F7F20  Xid Slot: 11, Wait Slot: 31, Task: 0x00000001F80A02C8, (Consumer),     Exchange Wait Type: e_waitPipeGetRow, Merging: 0
 ResType:ExchangeId Stype:'AND' SPID:951 BatchID:0 ECID:37 TaskProxy:(0x00000001DB202CE0)    Value:0xf80a02c8 Cost:(0/10000)

0 ответов

Другие вопросы по тегам