| Предыдущий | Следующий |
| hrInvalidSesid | hrInTransaction |
hrSessionWriteConflict
Что означает hrSessionWriteConflict
hrSessionWriteConflict (0xC8000453) — другая сессия содержит собственную версию страницы.
Что проверить
Зафиксируйте базу, таблицу или сессию ESE и первый API Jet/ESENT, который вернул hrSessionWriteConflict.
- Проверьте состояние базы и журналов ESE, свободные ресурсы процесса и состояние активной транзакции именно в момент отказа.
- Если ошибка возникла при восстановлении или работе с журналами, сопоставьте поколения журналов, контрольную точку и выбранный набор файлов; не подменяйте восстановление простым повтором операции.
- Найдите две операции или два объекта, между которыми возник конфликт hrSessionWriteConflict, и определите владельца изменения. Разрешайте конфликт на уровне этих объектов; общий перезапуск сервиса лишь временно скрывает причину.
Практический смысл и диагностика
- Два cursors внутри одной ESE session попытались несовместимо изменить одну record.
- Типичный API context включает `JetBeginSession`, `JetBeginTransaction`, `JetCommitTransaction`, `JetRollback` и update APIs.
- `hrInvalidSesid` означает stale/foreign `JET_SESID`, а не конфликт записей.
- `hrTransTooDeep` означает превышение transaction nesting depth и также относится к другой причине.
- Отличие от `hrWriteConflict`: тот код обычно описывает contention с другой session, а `hrSessionWriteConflict` — конфликт работы внутри одной session.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.