Взаимная блокировка параллельных потоков 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)