¿Qué significa el código HRESULT 0xC8000226 (hrDatabaseInconsistent)?

 
Anterior Siguiente
hrCheckpointCorrupt hrConsistentTimeMismatch

hrDatabaseInconsistent

Identificación precisa: hrDatabaseInconsistent

hrDatabaseInconsistent indica que la base no está en un estado transaccional limpio y necesita recovery antes del uso normal. El valor publicado es 0xC8000226; la condición JET correspondiente es JET_errDatabaseInconsistent.

No es equivalente a hrBadBackupDatabaseSize: ese valor indica que el tamaño del archivo de base del backup no está alineado al page size esperado por ESE. También se distingue de hrRecoveredWithErrors, donde repair o restore produjo salida pero encontró errores que reducen la confianza en el resultado recuperado.

Qué observar

  • Registra la primera llamada donde se cumple la condición concreta: la base no está en un estado transaccional limpio y necesita recovery antes del uso normal.
  • Conserva el contexto de archivo de base, attachment state, JET_DBID y ownership de sesión; para esta página las APIs/estructuras observadas en la referencia incluyen JetExternalRestore.
  • Antes del retry, resuelve primero ownership, path, permisos e integridad del archivo; después repite attach/open/detach según la API que falló.

La aceptación de la corrección consiste en repetir la misma API con el mismo tipo de objeto y comprobar que hrDatabaseInconsistent ya no aparece, sin perder el estado válido del cursor, archivo o backup.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.