What does HRESULT 0x80040E35 (DB_E_NOINDEX) mean?

 
Previous Next
DB_E_DUPLICATEINDEXID DB_E_INDEXINUSE

DB_E_NOINDEX

Meaning

Windows documents DB_E_NOINDEX as “Index does not exist”. Here, an index operation names an index that does not exist in the active table or data source scope.

Relevant OLE DB contract

This result must be interpreted against this contract: OLE DB data-definition interfaces operate on provider-scoped table and index DBIDs; existence, identifier validity and active use are separate outcomes, and schema changes must account for open rowsets and transactions.

Start with the session performing the definition operation and the table or index identity resolved by that session when investigating this result.

Diagnostic sequence

  1. Capture this result immediately at the native OLE DB return and obtain the current OLE DB error object before another COM call replaces thread error information.
  2. Identify the exact stage: an index operation names an index that does not exist in the active table or data source scope.

Specific conditions that produce it

  • Cause 1: the index was dropped or renamed.
  • Cause 2: the caller uses an index DBID from another catalog or table.
  • Cause 3: case and identifier rules produce a different resolved name.

Evidence to collect before changing the system

  • Evidence 1: the requested index DBID and table DBID.
  • Evidence 2: current index metadata from the same session and catalog.
  • Evidence 3: schema-change events preceding the operation.

Corrective actions

  • Action 1: refresh index metadata before drop or open operations.
  • Action 2: qualify the correct table and catalog scope.
  • Action 3: make drop operations idempotent when absence is acceptable.

Retry and recovery policy

Retry rule: retry after correcting the identifier or creating the required index.

Difference from related HRESULT values

DB_E_BADINDEXID means the identifier form is invalid, while DB_E_NOINDEX means the identifier is valid in form but no such index exists.

Practical incident

A maintenance task opens an index by an old name after a migration renamed it; resolving current metadata prevents it.

Official Microsoft references


Looking for a different code? Search another status or error code.