Показать сообщение отдельно
Старый 11.07.2008, 11:05   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,713 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
DeadLock. Один сеанс - несколько процессов.
Когда возникает DeadLock при работе нескольких сеансов Axapta с этим успешно справляется, просто прекращая один из процессов и эту ситуацию можно обработать по try...catch.

Однако есть ситуации, когда один сеанс открывает несколько процессов. И вот здесь возможны мертвые блокировки примерно такого вида

Сеанс = 1 SPID = 1,2
Сеанс = 3 SPID = 3

SPID 1 блокирует SPID 3
SPID 3 блокирует SPID 2

Axapta такую ситуацию "не видит", поскольку вроде бы нет явной взаимной блокировки. Как следствие, оба сеанса висят, пока вручную не прибьешь один из процессов.

Существует ли способ борьбы с такими ситуациями? В смысле, чтобы не было необходимости вручную отслеживать такие подвисания?

AXAPTA 2.5 SP3 + MS SQL 2005 в режиме совместимости с 2000