failed database disk image is malformed

Содержание

  1. Проблема
  2. Причина
  3. Решение
  4. Утилита командной строки sqlite
  5. Восстановление
  6. Исходная ситуация
  7. Причина
  8. Решение
  9. sqlite3_exec failed: database disk image is malformed
  10. db: c:1CBase1Cv8Log1Cv8.lgd
  11. sql: PRAGMA journal_mode = delete
  12. Невосстановимая ошибка Ошибка при выполнении запроса POST к ресурсу /e1cib/login: по причине: Ошибка при выполнении операции с информационной базой Файл базы данных поврежден «c:1CBase1Cv8.1CD» по причине: Файл базы данных поврежден «c:1CBase1Cv8.1CD»

Проблема

sqlite3_step failed: database disk image is malformed
db: C:ut111Cv8Log1Cv8.lgd

Или другие ошибки связанные с sqlite.

Причина

Причиной ошибок sqlite может служить повреждение данных в файле журнала регистрации. Способ решения этой проблемы описан в данной статье. О том, что Вы столкнулись именно с этой проблемой говорит ошибка database disk image is malformed . При этом она может быть скрыта другими ошибками sqlite. Когда пользователи получают ошибки sqlite, следует искать ошибку database disk image is malformed в журналах клиентских приложений (для файлового варианта) или менеджеров кластера. Она будет указана в журнале в виде:

16:29.504002-0,EXCP,0,process=rmngr,Exception=EventLogException,Descr=’sqlite3_exec failed: database disk image is malformed
db: C:Program Files1cv8srvinfo
eg_154150b80b42-24a3-4f33-8508-5672acb806211Cv8Log1Cv8.lgd sql: PRAGMA journal_mode = OFF’

Такая ошибка означает, что файл журнала регистрации, указанный в ошибке, поврежден.

Решение

Утилита командной строки sqlite

Для Windows утилиту нужно скачать отсюда.

Для Linux следует использовать утилиту, доступную в официальных репозиториях.

Восстановление

ВНИМАНИЕ! Все нижеследующие операции обязательно производите над копией файла журнала регистрации

  • Остановите кластер «1С:Предприятия» или завершите все клиенты для файлового варианта.
  • Скопируйте испорченный файл 1Cv8.lgd в отдельную директорию. Например, «C:LogRestore».
  • Туда же разархивируйте sqlite3.exe из архива, который скачале ранее.
  • В командной строке перейдите в рабочую директорию («C:LogRestore»).
  • Выполните команду:

sqlite3 1Cv8.lgd .dump >> backup.sql

  • Откройте файл backup.sql. Он может быть большой и MS Notepad его может не открыть. В этом случае воспользуйтесь, например, Notepad++.
  • Если самой последней строкой у вас является «ROLLBACK;» — замените ее на «COMMIT;» и сохраните файл.
  • Переименуйте файл 1Сv8.lgd в текущей директории в 1Cv8-orig.lgd.
  • В этой же директории выполните команду:

    При этом могут выводиться ошибки. Это нормально.

  • Откройте файл 1Сv8.lgd Конфигуратором пустой файловой базы. Убедитесь, что данные сохранены.
  • Замените испорченный файл в том месте, где он был изначально на 1Cv8.lgd из текущей директории.
  • Восстановление внешней базы данных mobi_s.sqlite3

    Исходная ситуация

    При открытии обработки или в процессе работы в логе появляются сообщения:

    Причина

    Причиной ошибок в базе данных sqlite может служить повреждение данных в файле (физические/логические повреждения жесткого диска, последствия вирусов, ошибки при копировании файла…).

    Решение

    Восстановление поврежденной базы данных производится с помощью утилиты командной строки sqlite.

    Столкнулся с интересной и достаточно редкой ошибкой при работе с 1С. После отключения света в офисе, при запуске 1С предприятия у пользователей появлялась ошибка

    sqlite3_exec failed: database disk image is malformed

    db: c:1CBase1Cv8Log1Cv8.lgd

    sql: PRAGMA journal_mode = delete

    Если нажать «Показать информацию для технической поддержки», то можно увидеть некоторые подробности ошибки:

    Невосстановимая ошибка
    Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
    по причине:
    Ошибка при выполнении операции с информационной базой
    Файл базы данных поврежден «c:1CBase1Cv8.1CD»
    по причине:
    Файл базы данных поврежден «c:1CBase1Cv8.1CD»

    Возникла эта ошибка после того, как в офисе выключилось электричество и часть клиентов отрубились. При этом сам сервер не выключался и никак не пострадал от пропажи света. Первым делом я решил проверить целостность файла с базой. Стоит отметить, что в данном случае речь идет про файловый вариант базы 1С.

    У 1С Предприятия есть в комплекте утилита для проверки файла базы данных 1Cv8.1CD на наличие ошибок. Называется она chdbfl.exe и живет по адресу

    C:Program Files (x86)1cv88.3.5.1383in

    Работа этой утилиты по восстановлению ошибок в базе данных не выявила. Тогда стал смотреть на файл 1Cv8.lgd, он упоминается в тексте ошибки. С версии платформы 8.3.5.1068 в нем хранится журнал регистрации. Мне он был не нужен, я просто его удалил, предварительно на всякий случай сохранив. Ошибка исчезла. При первом запуске базы файл был создан вновь.

    Источник: computermaker.info

    Техника и Гаджеты
    Добавить комментарий