Что означает код HRESULT 0xC8000516 (hrTableLocked)?

 
Предыдущий Следующий
hrDatabaseLocked hrTableDuplicate

hrTableLocked

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

hrTableLocked (0xC8000516) — таблица заблокирована.

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

Зафиксируйте базу, таблицу или сессию ESE и первый API Jet/ESENT, который вернул hrTableLocked.

  • Проверьте состояние базы и журналов ESE, свободные ресурсы процесса и состояние активной транзакции именно в момент отказа.
  • Если ошибка возникла при восстановлении или работе с журналами, сопоставьте поколения журналов, контрольную точку и выбранный набор файлов; не подменяйте восстановление простым повтором операции.
  • Определите, кто владеет ресурсом в момент hrTableLocked, и ожидается ли это по контракту API. Закройте или завершите только конфликтующую операцию; принудительное снятие блокировки без понимания владельца может повредить состояние.

Исходная формулировка

  • the target table is under a lock incompatible with the requested operation.
  • hrTableNotEmpty — a clustered-index definition or structural operation requires an empty table but rows already exist
  • Typical API surface — JetOpenTable, JetCreateTableColumnIndex, JetDeleteTable, and schema enumeration APIs
  • hrTableInUse — open cursors or operations prevent an exclusive table change
  • First corrective direction — finish or rollback the owning transaction and reacquire the table in a consistent lock order

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


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