Что означает код HRESULT 0x8004D019 (XACT_E_ABORTED)?

 
Предыдущий Следующий
XACT_E_ALREADYINPROGRESS XACT_E_LOGFULL

XACT_E_ABORTED

Abort — окончательный результат транзакции, а не запрос повторить commit

XACT_E_ABORTED означает, что до текущей операции транзакция уже была окончательно прервана. Abort мог быть инициирован приложением, тайм-аутом, голосом диспетчера ресурсов, потерей обязательного участника или односторонним сбоем в активной фазе.

Найдите первое решение об abort и отделите его от последующих симптомов. После выбора abort последующие операции подключения участника, commit или вызовы ресурсов могут возвращать вторичные ошибки. Повтор приложения должен начинать новую транзакцию и заново оценивать бизнес-операцию по текущему состоянию. До повтора подтвердите идемпотентность или компенсацию внешних вызовов, не охваченных MSDTC, поскольку распределённый rollback не может отменить их.

Доказательства abort в порядке приоритета

  • Первый компонент, запросивший abort или проголосовавший за него.
  • Тайм-аут транзакции и прошедшее время.
  • Ошибка участника непосредственно перед abort.
  • Внешние побочные эффекты за пределами подключённых диспетчеров ресурсов.

Ссылки


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