У меня есть решение BizTalk, которое вызовет хранимую процедуру, которая будет запрашивать и обновлять таблицу. Видимо, я сталкиваюсь с этой ошибкой каждый раз, когда я тестирую свое решение на серверах с балансировкой нагрузки.Менеджер транзакций MSDTC не смог выполнить транзакцию с использованием AmbientTransaction
Адаптер не удалось передать сообщение будет отправить порт SQLAdapter_Sendport»с URL„MSSQL:.. // сервер // StoredProc“Он будет повторно после интервала повтора для этого порта отправки
Деталь: System.Transactions.TransactionManagerCommunicationException:. Связь с базовым менеджером транзакций не удалась
System.Runtime.InteropServices.COMException: менеджер транзакций MSDTC не удалось выдвинуть сделку менеджера по сделкам назначения из-за проблемы со связью , Возможные причины: существует брандмауэр, и у него нет исключения для процесса MSDTC, обе машины не могут найти друг друга по именам NetBIOS или поддержка сетевых транзакций не включена для одного из двух менеджеров транзакций.
Исключение из HRESULT: 0x8004D02A)
на System.Transactions.Oletx.ITransactionShim.Export (UInt32 whereaboutsSize, Byte [] местонахождении, Int32 & cookieIndex, UInt32 & cookieSize, CoTaskMemHandle & cookieBuffer)
на System.Transactions. TransactionInterop.GetExportCookie (транзакция Transaction, Byte [] местопребывание)
--- Конец внутренней трассировки стека исключений ---
Я читал некоторые статьи, которые я должен установить DTC свойства, как бела вл. Они уже установлены как на BizTalk, так и на SQL Server.
Также DTC должен быть добавлен в брандмауэре Windows.
И, наконец, если useAmbientTransaction в свойствах порта отправки устанавливается в Правда я постоянно сталкиваясь с указанной ошибки выше.
Но если я устанавливаю useAmbientTransaction на Ложное сообщение преуспевает в SQL.
В какой-то статье я читал, что Microsoft не рекомендует устанавливать для использования useAmbientTransaction значение False, особенно если в хранимой процедуре задействованы Update и Delete. Но мое решение использует удаление и обновление в хранимой процедуре, поэтому мне нужно установить для useAmbientTransaction значение True. Но если я это сделаю, я продолжаю сталкиваться с ошибкой: «Менеджер транзакций MSDTC не смог отправить транзакцию в пункт назначения ...»
Пожалуйста, предложите любое возможное решение для этого.
ли база данных вы подключаетесь к сконфигурированный как часть всегда на группе доступности? Постскриптум это помогает, если вы помечаете свои вопросы с помощью biztalk, если они связаны с BizTalk. – Dijkgraaf