"Аварийно завершился рабочий процесс фонового задания" при закрытии месяца

1. MACTEP1C 18.09.23 19:24 Сейчас в теме
Здравствуйте!
Имеем 2.5.12.102 на платформе 8.3.23.1782 (64 бит), MS SQL Server. По завершении этапа закрытия месяца "Распределение затрат и расчет себестоимости" в журнале регистрации появляется запись:
"ЗакрытиеМесяца.РасчетПартийИСебестоимости
При выполнении операции закрытия месяца "Распределение затрат и расчет себестоимости" произошла ошибка:
Аварийно завершился рабочий процесс фонового задания".
При этом процесс закрытия продолжается (по его окончании в разделе "Распределение затрат и расчет себестоимости" появляется строка "При выполнении расчета периода ... по организации ... произошла исключительная ситуация").
В технологическом журнале на момент ошибки примерно такие записи:
48:14.322022-0,EXCP,3,process=rphost,p:processName=erp1,OSThread=6760,t:clientID=3102,t:applicationName=BackgroundJob,t:computerName=server1c,t:connectID=659,DBMS=DBMSSQL,DataBase=serversubd\erp1,Exception=dc31263e-ecbf-41bd-9b3a-7b55897d5fd6,Descr='src\backend\src\DataBase2.cpp(3671):
dc31263e-ecbf-41bd-9b3a-7b55897d5fd6: Соединение с сервером баз данных разорвано администратором
Выполнение оператора KILL не привело к ошибке СУБД'
48:14.322030-0,EXCP,2,process=rphost,p:processName=erp1,OSThread=6760,t:clientID=3102,t:applicationName=BackgroundJob,t:computerName=server1c,t:connectID=659,Exception=dc31263e-ecbf-41bd-9b3a-7b55897d5fd6,Descr='src\rserver\src\ServerJobExecutor.cpp(1335):
dc31263e-ecbf-41bd-9b3a-7b55897d5fd6: Соединение с сервером баз данных разорвано администратором
Выполнение оператора KILL не привело к ошибке СУБД'
48:14.322032-9922006,CONN,0,process=rphost,OSThread=6760,t:clientID=3102,t:clientID=3102,t:computerName=server1c,t:applicationName=BackgroundJob,t:connectID=659,Calls=402
48:16.806001-0,EXCP,6,process=rphost,p:processName=erp1,OSThread=2940,t:clientID=423,t:applicationName=BackgroundJob,t:computerName=server1c,t:connectID=265,SessionID=10,Usr=user1c,DBMS=DBMSSQL,DataBase=serversubd\erp1,dbpid=55,Exception=DataBaseException,Descr='Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 11.0: Транзакция (идентификатор процесса 55) вызвала взаимоблокировку ресурсов блокировка с другим процессом и стала жертвой взаимоблокировки. Запустите транзакцию повторно.
HRESULT=80004005, SQLSrvr: SQLSTATE=40001, state=12, Severity=D, native=1205, line=1
',Context='
ОбщийМодуль.ЗакрытиеМесяцаСервер.Модуль : 3553 : Обработки.ОперацииЗакрытияМесяца.ВыполнитьРасчетЭтапов(ПараметрыЗапуска);
Обработка.ОперацииЗакрытияМесяца.МодульМенеджера : 2065 : ОбщегоНазначения.ВыполнитьМетодКонфигурации(
ОбщийМодуль.ОбщегоНазначения.Модуль : 5377 : Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
: 1 : РасчетСебестоимостиКорректировкаСтоимости.Выполнить_РасчетПартийИСебестоимости(Параметры[0])
ОбщийМодуль.РасчетСебестоимостиКорректировкаСтоимости.Модуль : 469 : РасчетСебестоимости.РассчитатьВсеВПопыткеИсключении(ПараметрыЗапуска);
ОбщийМодуль.РасчетСебестоимости.Модуль : 534 : РассчитатьВсе(ПараметрыЗапуска, ПараметрыРасчета, ПараметрыОтладки);
ОбщийМодуль.РасчетСебестоимости.Модуль : 413 : РасчетСебестоимостиПрикладныеАлгоритмы.ЗаписатьСформированныеДвижения(
ОбщийМодуль.РасчетСебестоимостиПрикладныеАлгоритмы.Модуль : 10838 : РасчетСебестоимостиЛокализация.ЗаписатьСформированныеДвижения(ПараметрыРасчета, ПротоколыРасчета);
ОбщийМодуль.РасчетСебестоимостиЛокализация.Модуль : 2344 : РасчетСебестоимостиНДС.СформироватьЗаданияДляМеханизмовУчетаНДСПартионныйУчет22(ПараметрыРасчета);
ОбщийМодуль.РасчетСебестоимостиНДС.Модуль : 23684 : РасчетСебестоимостиПрикладныеАлгоритмы.ОтразитьДокументыВУчете(ПараметрыРасчета, ПараметрыОтраженияВУчете);
ОбщийМодуль.РасчетСебестоимостиПрикладныеАлгоритмы.Модуль : 14981 : ОбщегоНазначения.ВыполнитьМетодКонфигурации(ПараметрыОтраженияВУчете.ИмяМетода, МассивПараметров);
ОбщийМодуль.ОбщегоНазначения.Модуль : 5377 : Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
: 1 : УчетНДСЛокализация.СформироватьЗаданияДляФормированияКнигиПокупокПродаж(Параметры[0])
ОбщийМодуль.УчетНДСЛокализация.Модуль : 5219 : РегистрыСведений.ЗаданияКФормированиюДвиженийПоНДС.СоздатьЗаписиРегистраПоДаннымВыборки(Запрос.Выполнить().Выбрать());
РегистрСведений.ЗаданияКФормированиюДвиженийПоНДС.МодульМенеджера : 96 : СоздатьЗаписьРегистра(СтруктураПолей.Месяц, СтруктураПолей.СчетФактура, СтруктураПолей.Организация, НомерЗадания);
РегистрСведений.ЗаданияКФормированиюДвиженийПоНДС.МодульМенеджера : 61 : НаборЗаписей.Записать(Истина);'

Перед закрытием серверы перезагружали, кэш чистили. На момент ошибки в базе, помимо пользователя, выполняющего закрытие, были ещё 2. Пробовали и в тонком, и в толстом клиенте - всё равно та же ситуация. Памяти на сервере 200 Гб - должно, вроде бы, хватать. Есть идеи, где копать?
По теме из базы знаний
Найденные решения
14. MACTEP1C 24.10.23 07:22 Сейчас в теме
(13) Здравствуйте!
Выяснилось, что были отключены строковые блокировки (allow_row_locks).
misha226; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 18.09.23 19:52 Сейчас в теме
(1)
Microsoft SQL Server Native Client 11.0: Транзакция (идентификатор процесса 55) вызвала взаимоблокировку ресурсов блокировка с другим процессом и стала жертвой взаимоблокировки
deadlock на sql server надо ловить. Память тут не причём.
7. glek 120 20.09.23 16:51 Сейчас в теме
(1) Было такое, когда ставили интервал перезапуска сервера (или как оно там называется в агенте сервера) отличное от нуля. Просто сервер пытается зависшие по его мнению процессы перекинуть на другие и в этот момент фоновые падают.
Попробуйте в настройках установить 0
8. MACTEP1C 20.09.23 17:07 Сейчас в теме
13. soularise 24.10.23 00:30 Сейчас в теме
(1) Добрый день! Решили как то вопрос?
14. MACTEP1C 24.10.23 07:22 Сейчас в теме
(13) Здравствуйте!
Выяснилось, что были отключены строковые блокировки (allow_row_locks).
misha226; +1 Ответить
15. soularise 25.10.23 13:12 Сейчас в теме
(14) Спасибо, та же самая проблема была)
16. HIVvich 14.06.24 10:33 Сейчас в теме
(14)
отключены строковые блокировки (allow_row_locks).

подскажите, пожалуйста, как вы решили эту проблему?
17. MACTEP1C 14.06.24 11:02 Сейчас в теме
(16)
Включили. EXEC sp_MSforeachtable 'ALT ER INDEX ALL ON ? SET (ALLOW_ROW_LOCKS = ON)'
18. HIVvich 14.06.24 11:18 Сейчас в теме
(17)
ALT ER INDEX ALL O

Каким скриптом проверить, что ALLOW_ROW_LOCKS отключен, подскажите, пожалуйста
19. paulwist 14.06.24 11:28 Сейчас в теме
(18)
Каким скриптом проверить, что ALLOW_ROW_LOCKS отключен, подскажите, пожалуйста


Просмотр свойств всех индексов в таблице
20. MACTEP1C 14.06.24 12:03 Сейчас в теме
(18)
SEL ECT A.Name AS InName,ob.Name AS DBName FR OM sys.indexes A 
LEFT OUTER JOIN sys.objects ob ON ob.object_id = A.object_id 
WHERE ALLOW_ROW_LOCKS = 0 AND ob.type = 'U'
21. HIVvich 14.06.24 12:20 Сейчас в теме
3. triton34 19.09.23 10:01 Сейчас в теме
Технологический журнал, мне кажется рановато вы начали копать. Посмотрите сначала протокол расчета партий и себестоимости. Я бы с него начал, Там много детальной информации.
4. MACTEP1C 19.09.23 18:32 Сейчас в теме
(3) Там нет протоколов именно этих расчётов - только успешные.
5. triton34 20.09.23 08:14 Сейчас в теме
(4) Я говорю про операцию "расчет себестоимости" в закрытии месяца. В панели закрытия месяца есть список протоколов расчета. В протокол вываливается всё и успешное и нет.
6. MACTEP1C 20.09.23 15:15 Сейчас в теме
(5) И я про него. Там последний от 09.09.2023 - когда закрытие проходило.
9. triton34 21.09.23 09:58 Сейчас в теме
Может параметры расчета себестоимости не стандартные?
10. MACTEP1C 21.09.23 19:06 Сейчас в теме
(9) В смысле? Раньше с ними же прокатывало, никто их не трогал.
11. korefano 20 22.09.23 14:56 Сейчас в теме
Была такая ошибка, когда заканчивалось место в tempdb. Если у tempdb нет ограничений по росту, может место закончится на диске.
12. MACTEP1C 22.09.23 20:51 Сейчас в теме
(11) Нет, место на диске есть, ограничение не установлено.
Оставьте свое сообщение

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