Помню раньше была в аксапте такая проблема - все строки разносятся в одной транзакции и MSSQL после обработки нескольких строк принимал решение "блокировать всю таблицу"
Проблема решалась добавлением одной строчки в коде:
в методе, который вибирал строки для разноски