Site icon EfmSoft

Что означает код HRESULT 0x87AF0105 (SQLITE_E_BUSY_RECOVERY)?

 
Предыдущий Следующий
SQLITE_E_DONE SQLITE_E_LOCKED_SHAREDCACHE

SQLITE_E_BUSY_RECOVERY

Что означает SQLITE_E_BUSY_RECOVERY

SQLITE_E_BUSY_RECOVERY — extended SQLite result, сообщающий, что база занята recovery-процессом. Это состояние блокировок/восстановления после прерванной работы, а не ошибка SQL syntax и не доказательство повреждения database file.

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

  • Сохраните extended result, sqlite3_errmsg(), database path, journal mode и используемый VFS.
  • Определите connection/process, выполняющий recovery, и продолжительность его transaction/lock ownership.
  • Проверьте -wal, -shm или rollback journal только как часть штатного locking state; не удаляйте sidecar-файлы у работающей базы.

Как действовать

Дождитесь завершения recovery либо устраните зависший owner после подтверждения, что он действительно не работает. Для конкурентного доступа используйте ограниченный busy timeout/backoff. Ручное удаление journal/WAL ради снятия BUSY может превратить временную блокировку в потерю данных.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version