| Предыдущий | Следующий |
| XACT_E_HEURISTICDAMAGE | XACT_E_ISOLATIONLEVEL |
XACT_E_HEURISTICDANGER
Heuristic danger означает, что несогласованность возможна, но ещё не наблюдается полностью
XACT_E_HEURISTICDANGER сообщает, что транзакция может содержать сочетание результатов commit и abort, но координатор не способен установить состояние каждого участника. Это отличается от heuristic damage, где противоречащие результаты уже известны.
Изолируйте затронутые ресурсы на время сбора устойчивых свидетельств от каждого участника. Запросите локальные подготовленные или эвристические записи, изучите данные восстановления координатора и не принуждайте ещё один результат, пока не понятны последствия. Если участник лишь отключён, восстановление связи может превратить неопределённость в обычный восстановленный результат. Если журналы утрачены, сравнение на уровне бизнеса становится единственным надёжным способом определить необходимость компенсации.
Шаги для уменьшения неопределённости результата
- Список участников с подтверждёнными результатами.
- Отключённые или недоступные диспетчеры ресурсов.
- Наличие журналов восстановления координатора и участников.
- Бизнес-записи, способные подтвердить локальный commit.
Ссылки
- Microsoft MS-DTCO: восстановление результатов транзакции
- The Open Group: семантика эвристической опасности
- IETF: команды восстановления и результата транзакции
Нужно найти другой код? Найти другой код состояния или ошибки.