What does HRESULT 0xC8000191 (hrFLDTooManySegments) mean?

 
Previous Next
hrPMRecDeleted hrLogFileCorrupt

hrFLDTooManySegments

State represented by this code

hrFLDTooManySegments means an index key definition contains more segments than the legacy record manager supports.

The stored value is 0xC8000191 (negative JET error -401; -401). The legacy symbolic name comes from the Windows Directory Service backup/restore message header.

The first useful distinction is that this is a segment-count boundary; hrFLDKeyTooBig concerns the resulting key byte length. Start by preserving the full ordered segment list, sort directions, conditional columns, and the schema API that submitted it.

Data for a reproducible incident

  • Code-specific observation: preserve the full ordered segment list, sort directions, conditional columns, and the schema API that submitted it.

Objects and state involved

Diagnostic layerrecord lifetime and index key-definition constraints
Relevant API surfacecursor seeks, bookmarks, deletes, schema creation, and index maintenance
Code-specific conditionan index key definition contains more segments than the legacy record manager supports
Narrow corrective directionreduce the number of key columns or redesign the lookup around a smaller persisted key

Record deletion is a normal concurrency outcome that must be distinguished from structural corruption. Index segment count and key byte size are separate limits.

Actions that can make diagnosis worse

  • Do not remove arbitrary key columns without checking query semantics.
  • Do not reuse a stale bookmark without reseeking.

Nearby ESE or AD backup states

It specifically means that this is a segment-count boundary; hrFLDKeyTooBig concerns the resulting key byte length. Related values below can appear in the same workflow but require a different response:

hrPMRecDeleteda legacy page/record-manager path found that the target record had already been deleted
hrFullBackupNotTakenthe caller requested an incremental backup without a completed full backup recorded as its baseline
hrInvalidBackupan incremental external backup was requested while circular logging prevents preservation of the required historical log range

Next actions

  1. Record it, 0xC8000191, the API name, the current phase, and all live context or file owners.
  2. Verify the condition by preserving the full ordered segment list, sort directions, conditional columns, and the schema API that submitted it.
  3. Apply only the targeted fix: reduce the number of key columns or redesign the lookup around a smaller persisted key.

Technical references


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