При открытии журнала регистрации в 1С:Предприятие или в процессе работы пользователей может возникать критическая ошибка: «Ошибка формата файла журнала регистрации по причине: sqlite3_step failed: database disk image is malformed». Данный сбой указывает на повреждение структуры файла базы данных SQLite (1Cv8.lgd), в котором хранится журнал регистрации нового формата.
Рассмотрим причинно-следственные связи возникновения этой проблемы и разберем по шагам действенные способы восстановления работоспособности журнала регистрации 1С.
Файл 1Cv8.lgd представляет собой монолитную базу данных SQLite. Повреждение отдельных страниц этой базы приводит к тому, что 1С теряет возможность читать журнал целиком. Проанализируем основные факторы, вызывающие сбой:
rphost / rmngr во время записи данных.Разберем наиболее эффективный способ ремонта журнала с сохранением истории через консольный клиент sqlite3.
E:\srvinfo\reg_1541\... \1Cv8Log\) и скопируйте файл 1Cv8.lgd в отдельную папку..recover консольной утилиты SQLite. Откройте командную строку и выполните команду:
sqlite3 1Cv8.lgd ".recover" | sqlite3 1Cv8_fixed.lgd
1Cv8_fixed.lgd обратно в 1Cv8.lgd и поместите его в исходную папку 1Cv8Log. После этого запустите службу 1С.Если прямая команда восстановления не сработала, проанализируем метод выгрузки базы в SQL-скрипт с ручной коррекцией незавершенных транзакций.
sqlite3 1Cv8.lgd .dump > dump.sql
dump.sql в текстовом редакторе (например, Notepad++) и перейдем к самой последней строке файла.ROLLBACK;, заменим её на COMMIT; и сохраним файл. Это необходимо, чтобы сбойная транзакция в конце файла не отменила импорт всех предыдущих корректных записей.sqlite3 1Cv8_repaired.lgd < dump.sql
1Cv8.lgd на созданный 1Cv8_repaired.lgd и запустим 1С.Посмотрим, как поступить, если история событий за прошлые периоды не представляет ценности и систему требуется запустить в кратчайшие сроки:
1Cv8.lgd (либо полностью переименуйте папку 1Cv8Log).1Cv8.lgd при первом обращении к журналу.Чтобы избежать фатальной потери данных в будущем, разберем перевод журнала в текстовый формат (.lgf). В нем данные разделяются на отдельные файлы по дням или месяцам, благодаря чему повреждение одного файла не ломает весь журнал.
В современных версиях платформы (начиная с 8.3.12) изменить формат можно в Конфигураторе через настройки информационной базы. На более старых релизах платформы выполним смену формата вручную:
1Cv8Log все файлы формата .lgd.1Cv8Log пустой текстовый файл с именем 1Cv8.lgf.Для профилактики сбоев также настоятельно рекомендуем добавить каталог srvinfo сервера 1С в исключения антивирусного сканера и настроить сокращение уровня детализации журнала регистрации в настройках 1С.