Мы исследуем разные подходы для связи между двумя разными экземплярами SQL Server. Одним из желаемых рабочих процессов является отправка какого-либо сообщения «удаленной» стороне с запросом, скажем, об удалении записи. Когда эта система завершает удаление, она удерживает свою транзакцию открытой и отправляет ответ инициатору, который затем удаляет соответствующую запись, фиксирует свою транзакцию, а затем отправляет сообщение обратно на «удаленную» сторону, сообщая, наконец, совершить удаление на своей стороне.
Это приближение бедного человека к двухфазной фиксации. В отделе ведутся религиозные дебаты о том, может ли SQL Server Service Broker достаточно разумно обрабатывать сценарии такого типа. Может ли кто-нибудь пролить свет на это? Есть опыт работы с подобными типами рабочих процессов? Есть ли лучший механизм, который я должен рассмотреть для достижения этой цели, учитывая, что экземпляры SQL Server находятся на отдельных компьютерах, не входящих в домен?
Редактировать: чтобы уточнить, мы не можем использовать распределенные транзакции из-за того, что сетевая безопасность является как жесткой, так и несколько произвольной. Нам не разрешена конфигурация, которая сделала бы это возможным.