Что означает код HRESULT 0xC8000579 (hrIndexCantBuild)?

 
Предыдущий Следующий
hrInvalidObject hrIndexHasPrimary

hrIndexCantBuild

Что означает hrIndexCantBuild

hrIndexCantBuild (0xC8000579) — не удалось построить кластеризованный индекс.

Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errIndexCantBuild.

Что проверить

  • Зафиксируйте текущий индекс, его сегменты и флаги, а также фактически построенный ключ. Ошибка определения индекса отличается от ошибки позиции курсора или конфликтующего ключа.
  • После изменения индексируемых столбцов заново проверьте позицию курсора; для unique/primary индекса отдельно исследуйте ключ конфликтующей записи.

Практический смысл и диагностика

  • ESE не может материализовать requested clustered/index structure из текущих table data и index definition.
  • hrIndexInvalidDef отвергает definition на validation stage; hrIndexCantBuild может возникнуть позже, непосредственно при построении index по существующим rows.
  • Сохраните duplicate/null keys, row count, key widths, locale/collation, temporary-space usage и first failing row, если ESE его сообщает.
  • hrTooManyIndexes — другой schema limit; здесь число indexes может быть допустимым, но конкретный index физически не строится из данных/definition.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.