У меня DTC включен на 2 серверах - веб-сервере и сервере базы данных. В наших веб-приложениях есть несколько мест, где нам нужно использовать DTC (через TransactionScope) для управления транзакциями с участием нескольких баз данных. На наших серверах AD он работает нормально, но по какой-то причине он не полностью работает с одной парой, не входящей в домен. Я получаю следующую ошибку:
MSDTC on server 'DATABASE-SERVER' is unavailable.
Используя DTCPing с моего веб-сервера, я получаю успешный тест, а с моего сервера базы данных - нет (он останавливается после вызова RPC без сообщений).
Некоторые примечания по конфигурации:
Единственное различие между серверами, которые я могу найти, заключается в том, что когда я запускаю DTCPing с сервера базы данных, он не завершает тест (он просто говорит: «Пожалуйста, запустите PING с WEB-SERVER, чтобы завершить тест»), а если я инициирую с веб-сервера он завершает все на обоих концах.