| Предыдущий | Следующий |
| hrIndexNotFound | hrIndexInvalidDef |
hrIndexMustStay
Что означает hrIndexMustStay
hrIndexMustStay (0xC800057D) — кластеризованный индекс удалить нельзя.
Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errIndexMustStay.
Что проверить
- Зафиксируйте текущий индекс, его сегменты и флаги, а также фактически построенный ключ. Ошибка определения индекса отличается от ошибки позиции курсора или конфликтующего ключа.
- После изменения индексируемых столбцов заново проверьте позицию курсора; для unique/primary индекса отдельно исследуйте ключ конфликтующей записи.
Практический смысл и диагностика
- Запрошенное удаление затрагивает index, который обязателен для layout таблицы, часто clustered index.
- Если layout нужно изменить, перестройте таблицу с требуемой схемой вместо удаления mandatory index in place.
- Контекст может включать `JetCreateIndex`, `JetDeleteIndex`, `JetSetCurrentIndex`, `JetMakeKey`, `JetSeek` и `JetSetIndexRange`.
- `hrIndexInvalidDef` означает недопустимое definition индекса, а не запрет удаления уже существующего обязательного index.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
