MSDTC - COMException

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

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

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

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

1 ответ

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

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

Другие вопросы по тегам