| Предыдущий | Следующий |
| ERROR_CLUSTER_INVALID_STRING_FORMAT | ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS |
ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS
Транзакции базы кластера нельзя неявно вкладывать
ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS означает, что новое транзакционное обновление началось до завершения текущей транзакции базы кластера. Обычно это указывает на повторный вход, несогласованный путь begin/commit или повтор, использующий состояние транзакции после более раннего асинхронного возврата.
Явно отслеживайте владение транзакцией и её жизненный цикл. Записывайте место начала транзакции, владеющий ею поток или обратный вызов и пропускались ли фиксация или откат при обработке исключений. Не вызывайте код конфигурации рекурсивно из обратного вызова DLL ресурса. Если несколько изменений должны быть атомарными, добавьте их в один поддерживаемый пакет вместо открытия второй транзакции вокруг существующего пакета.
Сведения о жизненном цикле транзакции
- Дескриптор транзакции или пакета и стек вызовов создания.
- Владеющий поток, обратный вызов или запрос управления.
- Команды, уже поставленные в очередь до попытки вложенного начала.
- Пути фиксации, отката и очистки для каждого досрочного возврата.
Ссылки
- Microsoft: модель доступа к базе кластера
- Microsoft: добавление команд в пакет реестра кластера
- Microsoft: последовательность команд реестра кластера
Нужно найти другой код? Найти другой код состояния или ошибки.
