Решить проблему Конфликт блокировок при выполнении транзакци

1. VKuser6489609 05.10.20 12:11 Сейчас в теме
Имеем самописную 1с которая была написана для 8.1
Сейчас работает на 8.3 (в режиме совместимости 8.2)

В конфигурации и управляемые и автоматические блокировки
В настройка конфигурации указано управляемая. В настройках некоторых объектов управляемая, а в некоторых автоматические.

Возникает ошибка почти каждый день, помогает только принудительная перезагрузка.

{Обработка.ВыдачаПоЗвонку.Форма.ВыдачаПоЗвонку.Форма(852)}: Ошибка при вызове метода контекста (Записать)
ДокРассмотрение.Записать(РежимЗаписиДокумента.Проведение);
по причине:
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.Рассмотрение.МодульОбъекта(565)}: Ошибка при вызове метода контекста (Выполнить)
ДокРассмотрение.Записать(РежимЗаписиДокумента.Проведение);
по причине:
Ошибка выполнения запроса
по причине:
Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 11.0: Lock request time out period exceeded.
HRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=33, Severity=10, native=1222, line=1

Физический сервер: Xeon 2620 (2 процессора) (hyper threading включен) Оперативная память: 128 ГБ Используется виртуализация Hyper-V (Гостевая ОС Windows Hyper-V 2016). Охват узлов Numa выключен

Виртуальная машина, куда подключаются пользователи по RDP: ОЗУ: 38 ГБ, виртуальных процессоров 12 из 24 возможных (100% нагрузки при этом почти никогда не бывает), vhdx системного раздела, динамически расширяемый на INTEL SSDSC2BX200G4 +2 vhdx под сканы на обычных жестких дисках. Сеть между виртуальными машинами 10гбит\с. Гостевая ОС Windows Server 2012r2 Standart, платформа 1С x86 8.3.16.1148

Виртуальная машина с базами MSSQL + сервер предприятия 1С х64 бит 8.3.16.1148 ОЗУ 64 гб, для mssql стоит ограничение по максимальному занимаемому количеству памяти в 40 гб, виртуальных процессоров 12 из 24 возможных, vhdx системного раздела фиксированного размера на INTEL SSDSC2KG480G8 + на нем же находится упомянутая база (текущий ее размер 93гб). Фиксированного размера vhdx на OCZ INTREPID 3800 под другие базы. + vhdx диск под другие файлы, не относящиеся к базам на обычном жестком диске. TempDB разбит на 12 файлов и находится в системном разделе (который на SSD). Гостевая ОС Windows Server 2012r2 Standart, MS SQL Server 2012

Каким образом решить данную проблему?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 05.10.20 12:27 Сейчас в теме
(1) Если для 1С использование дисков в виде vhdx - это ладно, то для MSSQL - это просто убийство быстродействия.
Предоставьте "прямой" доступ гостевой машины к LUN(-ам) дисковой подсистемы гипервизора Hyper-V.

У вас MSSQL ожидает более 20 секунд на предоставление блокировки записей в таблице/самой таблице. Вы можете увеличить время ожидания блокировки в свойствах БД средствами 1С, но 20секунд(значение по-умолчанию) - это и так много.
VKuser6489609; +1 Ответить
Оставьте свое сообщение

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