Что означает код HRESULT 0x8004D007 (XACT_E_HEURISTICDANGER)?

 
Предыдущий Следующий
XACT_E_HEURISTICDAMAGE XACT_E_ISOLATIONLEVEL

XACT_E_HEURISTICDANGER

Heuristic danger означает, что несогласованность возможна, но ещё не наблюдается полностью

XACT_E_HEURISTICDANGER сообщает, что транзакция может содержать сочетание результатов commit и abort, но координатор не способен установить состояние каждого участника. Это отличается от heuristic damage, где противоречащие результаты уже известны.

Изолируйте затронутые ресурсы на время сбора устойчивых свидетельств от каждого участника. Запросите локальные подготовленные или эвристические записи, изучите данные восстановления координатора и не принуждайте ещё один результат, пока не понятны последствия. Если участник лишь отключён, восстановление связи может превратить неопределённость в обычный восстановленный результат. Если журналы утрачены, сравнение на уровне бизнеса становится единственным надёжным способом определить необходимость компенсации.

Шаги для уменьшения неопределённости результата

  • Список участников с подтверждёнными результатами.
  • Отключённые или недоступные диспетчеры ресурсов.
  • Наличие журналов восстановления координатора и участников.
  • Бизнес-записи, способные подтвердить локальный commit.

Ссылки


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