We are having a problem with Distributed Transactions in SQL Server. We have two databases on two different machines. one is a client machine in domain DOMAIN1. and second is a standalone machine HOST external to our domain. Both machines are behind firewalls. When ever we start a distributed transaction we have following error:
Server: Msg 7391, Level 16, State 1, Line 1
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction. [OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ] OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
HOST is running Windows Server 2003.
CLIENT is running Windows XP SP2.
DTC is running on both machines. All relevant ports 1433 TCP, 1434 UDP, 135 TCP are open in both firewalls. We have tried almost all kind of workaround from Microsoft Support website. But nothing is working.
If we make HOST as part of our domain it works. but when HOST goes external to our domain. problem starts.
So looking for some solution.........................................
the process is simple if you are using windows... right click on DNS servers (in the DNS MMC) add a new secondary zone and follow the steps.
an alternative would be to use each domain as a forwarding (forget the proper technical name for it) domain...
so,
in domain1
if a user is trying to resolve a name that is not within it's scope, it would simply forward the request to the other domain... and vice versa.