n1ro°
RU

Ошибки · Решение

SQLite SQLITE_CORRUPT (11): SQLite обнаружил повреждение базы

Файл не соответствует ожидаемым внутренним инвариантам SQLite; продолжать обычные записи без backup опасно.

Редакция N1RO · Проверено

Короткий ответ

SQLITE_CORRUPT (11) означает, что SQLite обнаружил повреждение структуры database file. Сверьте код с официальной поддержкой производителя и выполните только безопасные шаги.

Что означает ошибка

Файл не соответствует ожидаемым внутренним инвариантам SQLite; продолжать обычные записи без backup опасно.

Возможные причины

  • Аппаратный/storage сбой повредил страницы.
  • Файл менялся неподдерживаемым способом или несколькими несовместимыми VFS.
  • Ошибка приложения/расширения привела к повреждению, хотя это значительно реже.

Что проверить

  • Сделайте копию повреждённого файла до экспериментов.
  • Запустите `PRAGMA integrity_check` на копии, если база читается.
  • Проверьте OS/storage logs и наличие исправной backup.

Безопасные шаги

  1. Предпочтительно восстановите данные из проверенной backup.
  2. Если backup нет, используйте официальные recovery-подходы на копии, а не на единственном оригинале.
  3. После восстановления устраните причину corruption до возврата записи.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • При SQLITE_CORRUPT на критичной базе привлеките специалиста по восстановлению и сохраните исходный файл неизменным.

Похожие ошибки

  • /errors/sqlite-busy-5/
  • /errors/sqlite-locked-6/
  • /errors/sqlite-readonly-8/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.