Site icon EfmSoft

What does HRESULT 0x80040E34 (DB_E_DUPLICATEINDEXID) mean?

 
Previous Next
DB_E_CANTTRANSLATE DB_E_NOINDEX

DB_E_DUPLICATEINDEXID

Meaning

Windows documents DB_E_DUPLICATEINDEXID as “Index already exists”. Here, IIndexDefinition or a related schema operation attempts to create an index whose identifier already exists.

Specific conditions that produce the result

  • Cause 1: the deployment script is replayed.
  • Cause 2: two schema workers race to create the same index.
  • Cause 3: identifier normalization makes two requested names equivalent.

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.

Evidence to collect before changing the system

  • Evidence 1: the table and index DBIDs.
  • Evidence 2: existing index metadata including key columns and properties.
  • Evidence 3: deployment correlation and transaction state.

Corrective actions

  • Action 1: treat matching existing definitions as idempotent success when appropriate.
  • Action 2: drop or rename only after verifying the existing index is not required.
  • Action 3: serialize schema migrations that target the same object.

Practical incident

A migration is rerun after its completion record was lost and attempts to recreate the same index; comparing definitions avoids it.

Retry and recovery policy

Retry rule: retry only after choosing another identifier or confirming an idempotent existing definition.

Difference from related HRESULT values

DB_E_DUPLICATEID is a general duplicate DBID result, while DB_E_DUPLICATEINDEXID specifically identifies an existing index.

Official Microsoft references


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

Exit mobile version