[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

SQL Server Distributed Transactions Over Untrusted Domains

Posted on 2006-07-12
9
Medium Priority
?
1,108 Views
Last Modified: 2012-05-05
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.........................................

0
Comment
Question by:kolcorp
  • 4
  • 2
6 Comments
 
LVL 12

Expert Comment

by:Einstine98
ID: 17095708
I had this problem once and it was
1. related to MSDTC network security in component services... did you try enabling that?
2. the firewall was blocking some ports
3. The DNS did not resolve to the right IP address

(trust me it was the three of them in one shot)... so double check all that...
0
 
LVL 1

Author Comment

by:kolcorp
ID: 17097203
hi,

1. MSDTC is enabled and configured properly through Component Services.

2. All relevant ports are opened on firewall.

3. Clients can resolve HOST IP. but HOST cannot. because HOST is not in same domain as clients are. Also we can install client application on any machine. so we cannot make such configuration each time on HOST for all new installations.

0
 
LVL 12

Expert Comment

by:Einstine98
ID: 17097566
You have to get the host resolving back to the machine, if you trace the MSDTC (I forgot the utility that does this, but there is a utility from microsoft that would test MSDTC and list any errors)....

Basically both machines should be able to resolve each other... perhaps you can create a Secondary DNS zone on your DNS server for that domain...
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
LVL 12

Expert Comment

by:Einstine98
ID: 17097574
0
 
LVL 1

Author Comment

by:kolcorp
ID: 17098044
Can you tell me steps of how can i create a DNS Zone?

0
 
LVL 12

Accepted Solution

by:
Einstine98 earned 1000 total points
ID: 17113395
if there is a firewall between the two domains then you need to check with your system admin if they will allow the DNS ports to open...

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.
0

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
In the first part of this tutorial we will cover the prerequisites for installing SQL Server vNext on Linux.
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.
Viewers will learn how the fundamental information of how to create a table.

612 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question