| Предыдущий | Следующий |
| hrTableLocked | hrTableInUse |
hrTableDuplicate
Что означает hrTableDuplicate
hrTableDuplicate (0xC8000517) — таблица уже существует.
Что проверить
Зафиксируйте базу, таблицу или сессию ESE и первый API Jet/ESENT, который вернул hrTableDuplicate.
- Проверьте состояние базы и журналов ESE, свободные ресурсы процесса и состояние активной транзакции именно в момент отказа.
- Если ошибка возникла при восстановлении или работе с журналами, сопоставьте поколения журналов, контрольную точку и выбранный набор файлов; не подменяйте восстановление простым повтором операции.
- Проверьте уже существующий объект и его параметры до создания или регистрации нового. Для hrTableDuplicate обычно безопаснее сделать операцию идемпотентной либо явно обновить существующий объект, чем создавать дубликат.
Исходная формулировка
table creation reused a name already present in the database.
Typical API surface — JetOpenTable, JetCreateTableColumnIndex, JetDeleteTable, and schema enumeration APIs
hrTableInUse — open cursors or operations prevent an exclusive table change
The key comparison for this result is this: hrObjectDuplicate can include other object classes; this code identifies a table collision.
First corrective direction — make schema migrations idempotent by checking the existing table definition before creation
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.