Что означает код HRESULT 0xC80004B6 (hrDatabaseCorrupted)?

 
Предыдущий Следующий
hrDatabaseInvalidPages hrDatabaseLocked

hrDatabaseCorrupted

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

hrDatabaseCorrupted (0xC80004B6) — файл базы данных повреждён или не найден.

Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errDatabaseCorrupted.

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

  • Зафиксируйте путь базы, attachment-состояние, JET_DBID и владеющий им JET_SESID; идентификаторы ESE действительны только в своём экземпляре и сеансе.
  • Для detach/delete/schema операций проверьте открытые таблицы, другие сеансы и транзакции; при corruption/inconsistent сначала сохраните базу вместе с журналами для recovery.

Практический смысл и диагностика

  • Database больше нельзя считать согласованным ESE file либо он недоступен в состоянии, которое ESE классифицирует как corruption.
  • `hrInvalidDatabase` может означать просто файл неправильного типа; `hrDatabaseCorrupted` требует corruption/recovery workflow.
  • Остановите дальнейшие изменения, оцените backup/log replay options и не создавайте replacement поверх исходных evidence.
  • Контекст может включать `JetCreateDatabase`, `JetAttachDatabase`, `JetOpenDatabase`, `JetCloseDatabase` и `JetDetachDatabase`; сохраните первый API, где corruption был обнаружен.

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


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