| Предыдущий | Следующий |
| hrIndexInvalidDef | hrTooManyOpenIndexes |
hrIndexHasClustered
Что означает hrIndexHasClustered
hrIndexHasClustered (0xC8000580) — кластеризованный индекс уже определён.
Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errIndexHasClustered.
Что проверить
- Зафиксируйте текущий индекс, его сегменты и флаги, а также фактически построенный ключ. Ошибка определения индекса отличается от ошибки позиции курсора или конфликтующего ключа.
- После изменения индексируемых столбцов заново проверьте позицию курсора; для unique/primary индекса отдельно исследуйте ключ конфликтующей записи.
Практический смысл и диагностика
- У таблицы уже есть clustered index, поэтому второй clustered layout определить нельзя.
- `hrIndexHasPrimary` относится к primary-key designation; здесь решающим является именно clustered storage order.
- Выберите один clustered layout либо перенесите rows в новую таблицу с заранее определённой схемой.
- Перечислите index flags и установите, не создала ли existing clustered index более ранняя migration.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.