|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от Alexius
![]() Таблички Batch* достаточно проблемные, гарантированного универсального решения, по крайней мере у меня нет. В качестве путей решения могу предложить:
1. Переиндексация. Смотреть DBCC SHOWCONTIG по каждому индексу, обычно они в безобразном состоянии, т.к. многие записи динамически создаются/удаляются. 2. Если блокируется именно вся таблица (я честно говоря сомневаюсь в этом, но чем черт не шутит) - смотрим Отключение эскалации блокировок в MSSQL 2008 3. Если происходит эскалация блокировки с записи до страницы (тоже неприятно), то можно отключить это в индексе(ах). 4. Не плохо бы посмотреть на наличие "сторонних" вмешательств в механизмы пакетных заданий в АХ Указанный выше запрос не выполняется до тех пор, пока не разнесутся все журналы операций. В SQL видно что процесс заблокирован именно процессом разноски журналов операций. Соответственно все остальные пакетные задания ждут окончания списания. Может быть еще дело в том что для списания мы запускаем ОДНО пакетное задание, в котором указываем все магазины. В результате мы имеем ОДНО пакетное задание состоящие из подзаданий, равное кол-ву списываемых журналов. Попробую для каждого магазина настроить свое пакетное задание. |
|
Теги |
ax2012, deadlock, пакетная обработка |
|
|