1C помилка: sqlite3_exec failed: database disk image is malformed
Зіткнувся з цікавою і досить рідкісною помилкою при роботі з 1С. Після відключення світла в офісі, під час запуску 1С підприємства у користувачів з’являлася помилка
sqlite3_exec failed: database disk image is malformed
db: c: \ 1C \ Base \ 1Cv8Log \ 1Cv8.lgd
sql: PRAGMA journal_mode = delete
Якщо натиснути «Показати інформацію для технічної підтримки», то можна побачити деякі подробиці помилки:
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка при выполнении операции с информационной базой
Файл базы данных поврежден «c:\1C\Base\1Cv8.1CD»
по причине:
Файл базы данных поврежден «c:\1C\Base\1Cv8.1CD»
Виникла ця помилка після того, як в офісі вимкнулося електрику і частина клієнтів відрубали. При цьому сам сервер не вимикався і ніяк не постраждав від пропажі світла. Насамперед я вирішив перевірити цілісність файлу з базою. Варто відзначити, що в даному випадку мова йде про файловий варіант бази 1С.
У 1С Підприємства є в комплекті утиліта для перевірки файлу бази даних 1Cv8.1CD на наявність помилок. Називається вона chdbfl.exe і живе за адресою
C: \ Program Files (x86) \ 1cv8 \ 8.3.5.1383 \ bin
Робота цієї утиліти по відновленню помилок в базі даних не виявила. Тоді став дивитися на файл 1Cv8.lgd, він згадується в тексті помилки. З версії платформи 8.3.5.1068 в ньому зберігається журнал реєстрації. Мені він був не потрібен, я просто його видалив, попередньо про всяк випадок зберігши. Помилка зникла. При першому запуску бази файл був створений знову.