| Previous | Next |
| hrColumnDuplicate | hrInvalidColumnType |
hrColumn2ndSysMaint
Why this is more specific than the message text
hrColumn2ndSysMaint means the table is being given a second engine-maintained autoincrement or version column.
This is the legacy Directory Service backup/restore HRESULT form of JET_errColumn2ndSysMaint (0xC80005E6).
The key comparison is: hrCannotBeTagged concerns multivalue/tagged form; this code concerns duplicate maintenance semantics. The first useful observation is to enumerate column flags and identify the existing system-maintained column. This evidence separates schema definition, row-size accounting, null semantics, multivalue selection, and stale column IDs.
Related ESE conditions
hrCannotBeTagged | an autoincrement or version column was defined with tagged or multivalued semantics |
|---|---|
hrColumnCannotIndex | the selected long-value or otherwise unsupported column cannot participate in an index key |
hrBadItagSequence | the requested multivalued-column instance number is invalid for the current row |
The ESE objects in play
| Diagnostic layer | column schema, row-size accounting, tagged/multivalued storage, and column identifiers |
|---|---|
| Typical API surface | JetAddColumn, JetDeleteColumn, JetSetColumn, JetRetrieveColumn, and JET_COLUMNDEF |
| Code-specific condition | the table is being given a second engine-maintained autoincrement or version column |
| First corrective direction | retain one autoincrement/version role and model any additional sequence in application data |
Column IDs are metadata scoped to a table and should be refreshed after schema changes. Null, zero-length, deletion, and missing multivalue instances are distinct states.
Data for a reproducible case
- Code-specific observation: enumerate column flags and identify the existing system-maintained column.
- the encoded value length, null/empty state, and itag sequence; associate it with this result rather than with a later generic exception.
- the complete row-size contribution from fixed, variable, tagged, and long-value data.
- JET_COLUMNDEF fields, flags, code page, maximum length, and column ID origin.
Corrective workflow
- Freeze the failing request context and record
0xC80005E6, the Jet API name, and the current instance/session ownership. - Verify the code-specific precondition: enumerate column flags and identify the existing system-maintained column.
- Apply the targeted fix: retain one autoincrement/version role and model any additional sequence in application data.
- Before retrying the operation, reconcile column metadata, row layout, and the exact stored value state.
Actions that can hide or worsen the problem
- Do not alter the column schema in place without a migration and rollback plan.
- Do not collapse null, zero-length data, missing value, and tagged-value deletion into one state.
Technical references
Looking for a different code? Search another status or error code.