X блокировка всей таблицы при записи документа

1. user1715233 26.01.24 02:08 Сейчас в теме
Коллеги, подскажите по блокировкам...

Платформа 8.3.23.1865
Конфигурация: типовой ЗУП 3.1.28.65 => Управляемый режим блокировок
Режим совместимости Версия 8.3.21, расширений нет.
СУБД MS SQL Enterprise Edition (64-bit) 16.0.1000.6 RTM
10-15 пользователей

Если поставить точку останова в начале события "ПриЗаписи" и записать любой документ любого типа, на уровне СУБД накладывается X блокировка с гранулярностью ТАБЛИЦА. Т.е. при записи любого документа блокируется ВСЯ таблица и никакие другие документы не могут быть записаны до окончания текущей транзакции.

Соответственно, пользователи ловят тормоза и таймауты вида:
"Конфликт блокировок при выполнении транзакции:
Microsoft OLE DB Driver 19 for SQL Server: Lock request time out period exceeded.
HRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=38, Severity=10, native=1222, line=1"

Конфликт блокировок воспроизводится до записи движений, блокировка накладывается именно в событии "ПриЗаписи". В т.ч. при записи непроведенных документов.

Попробовал воспроизвести на нетиповой конфигурации. Там при такой последовательности действий ставится IX блокировка с гранулярностью ТАБЛИЦА, которая никак не мешает работе пользователей.

Параметры БД на уровне СУБД одинаковые.
allow snapshot isolation = False
is read committed snapshot on = True

Куда еще дальше можно посмотреть?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот