Solved

SQL Server Distributed Transactions Over Untrusted Domains

Posted on 2006-07-12
9
1,050 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
9 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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
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 250 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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Running total between 2 sql tables in Sql 6 50
SQL Server Pivot 5 42
how to use ROW_NUMBER() correctly 8 44
SQL - Using an 'array' kind of variable 5 17
Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
A Stored Procedure in Microsoft SQL Server is a powerful feature that it can be used to execute the Data Manipulation Language (DML) or Data Definition Language (DDL). Depending on business requirements, a single Stored Procedure can return differe…
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

739 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