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