Назад | Перейти на главную страницу

MSDTC - COMException

В настоящее время у нас есть 4 веб-сервера с балансировкой нагрузки, подключенных к серверу базы данных SQL 2005. На веб-серверах находится IIS 6, на котором установлены наши веб-службы Dot Net, и компоненты Dot Net COM + также в Dot Net 4. MSDTC используется на каждом веб-сервере и на сервере SQL для транзакции нескольких запросов SQL, которые должны выполняться как Блок. Иногда мы получаем следующую ошибку, записываемую на всех 4 веб-серверах, но не на сервере SQL (в журнале приложения средства просмотра событий Windows):

System.Runtime.InteropServices.COMException (0x8004E002): корневая транзакция хотела зафиксировать, но транзакция прервана (исключение из HRESULT: 0x8004E002)

Мы нашли пару статей, в которых люди предлагали увеличить лимиты тайм-аута, но, к сожалению, мы не можем этого сделать из-за нехватки времени при взаимодействии с запросами клиентов.

Мы просто хотели бы знать, в чем может быть основная причина этой проблемы.

Похоже, транзакция была запущена на веб-сервере, но MSDTC не смог запустить транзакцию на SQL Server.

Глядя на раздел MSDTC службы компонентов, видите ли вы на веб-серверах такое же количество ошибок, как и на SQL-сервере?