| Предыдущий | Следующий |
| ERROR_INVALID_TRANSACTION | ERROR_TRANSACTION_REQUEST_NOT_VALID |
ERROR_TRANSACTION_NOT_ACTIVE
В Kernel Transaction Manager (KTM) этот статус указывает на ошибку жизненного цикла: вызывающий код использует дескриптор транзакции после завершения активности единицы работы. Это не общая ошибка базы данных или файловой системы. Транзакция KTM может совместно использоваться несколькими участниками, а обработка фиксации или отката изменяет допустимость последующих вызовов.
Чем отличается от соседних статусов KTM
ERROR_TRANSACTION_ALREADY_COMMITTEDиERROR_TRANSACTION_ALREADY_ABORTEDуказывают известный конечный результат.ERROR_TRANSACTION_REQUEST_NOT_VALIDимеет более широкий смысл: запрос недопустим в текущей фазе, даже если транзакция не просто повторно используется после завершения.- Этот статус не следует считать сигналом повторить ту же операцию с тем же дескриптором.
Полезные сведения
Запишите идентификатор транзакции, сбойный API, первый запрос фиксации или отката и уведомления, полученные каждым диспетчером ресурсов. Проверьте, не хранит ли код приложения дескриптор транзакции в кэше, контексте обратного вызова или рабочем элементе после достижения результата. Для новой единицы работы создавайте новую транзакцию, а не пытайтесь снова активировать старую.
См. Поток транзакции KTM и справочник API KTM.
Нужно найти другой код? Найти другой код состояния или ошибки.