Что означает код NTSTATUS 0xC0190003 (STATUS_TRANSACTION_NOT_ACTIVE)?

 
Предыдущий Следующий
STATUS_INVALID_TRANSACTION STATUS_TM_INITIALIZATION_FAILED

STATUS_TRANSACTION_NOT_ACTIVE

STATUS_TRANSACTION_NOT_ACTIVE возвращается, когда код продолжает использовать транзакцию после того, как KTM перестал считать её активной. Типичные границы — завершённый commit, откат, тайм-аут, решение восстановления или клиентский путь, сохранивший дескриптор после окончания области транзакции.

Это отличается от STATUS_TRANSACTION_NOT_FOUND: not-active означает, что операция связана с транзакцией, состояние которой больше непригодно, а not-found является ошибкой поиска объекта. Он также отличается от STATUS_TRANSACTION_ALREADY_ABORTED и STATUS_TRANSACTION_ALREADY_COMMITTED, которые сообщают известный конечный результат.

Транзакция достигла конечного или непригодного состояния

  • Зафиксируйте идентификатор транзакции и последнее уведомление KTM или вызов завершения для неё.
  • Закрывайте или выводите из использования состояние области транзакции после конечного результата, а не повторно используйте его для новой единицы работы.
  • Начинайте новую транзакцию для повторяемой бизнес-операции только после определения, была ли предыдущая зафиксирована или отменена.

Ссылки


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