The partner transaction manager has disabled its support for remote/network transactions
Hi People,
I developed a .net 2.0 windows applications using TransactionScope. Client applications access a MSDE database on server via LAN. The program works fine when I tested on my own computer where database is on the same machine. But when I deployed database to the server, I got a message "The partner transaction manager has disabled its support for remote/network transactions Exception from HRESULT: 0x8004D025".
I did some google search and tried to turn on the network access checkboxes in component services on the server, but problem persists.
Can anyone help? Thanks.
Eric
Answers
- First verify the "Distribute Transaction Coordinator" Service is
running on both database server computer and client computers
1. Go to "Administrative Tools > Services"
2. Turn on the "Distribute Transaction Coordinator" Service if it is not running
If it is running and client application is not on the same computer as
the database server, on the computer running database server
1. Go to "Administrative Tools > Component Services"
2. On the left navigation tree, go to "Component Services > Computers
> My Computer" (you may need to double click and wait as some nodes
need time to expand)
3. Right click on "My Computer", select "Properties"
4. Select "MSDTC" tab
5. Click "Security Configuration"
6. Make sure you check "Network DTC Access", "Allow Remote Client",
"Allow Inbound/Outbound", "Enable TIP" (Some option may not be
necessary, have a try to get your configuration)
7. The service will restart
8. BUT YOU MAY NEED TO REBOOT YOUR SERVER IF IT STILL DOESN'T WORK
(This is the thing drove me crazy before)
On your client computer use the same above procedure to open the
"Security Configuration" setting, make sure you check "Network DTC
Access", "Allow Inbound/Outbound" option, restart service and computer
if necessary.
On you SQL server service manager, click "Service" dropdown, select
"Distribute Transaction Coordinator", it should be also running on
your server computer.
Hope it helps,
Eric Hi,
It's me again. I just found that not only restart the service but also you need to reboot the server in order for this to work.
Eric
All Replies
Hi,
It's me again. I just found that not only restart the service but also you need to reboot the server in order for this to work.
Eric
Hi Eric (morningsunshine)
I'm also getting the same error. Could you please help me to fix the problem. You had said you made some changes to the server component , could you describe me the step by step procedure.
Thank You
Nitu
- First verify the "Distribute Transaction Coordinator" Service is
running on both database server computer and client computers
1. Go to "Administrative Tools > Services"
2. Turn on the "Distribute Transaction Coordinator" Service if it is not running
If it is running and client application is not on the same computer as
the database server, on the computer running database server
1. Go to "Administrative Tools > Component Services"
2. On the left navigation tree, go to "Component Services > Computers
> My Computer" (you may need to double click and wait as some nodes
need time to expand)
3. Right click on "My Computer", select "Properties"
4. Select "MSDTC" tab
5. Click "Security Configuration"
6. Make sure you check "Network DTC Access", "Allow Remote Client",
"Allow Inbound/Outbound", "Enable TIP" (Some option may not be
necessary, have a try to get your configuration)
7. The service will restart
8. BUT YOU MAY NEED TO REBOOT YOUR SERVER IF IT STILL DOESN'T WORK
(This is the thing drove me crazy before)
On your client computer use the same above procedure to open the
"Security Configuration" setting, make sure you check "Network DTC
Access", "Allow Inbound/Outbound" option, restart service and computer
if necessary.
On you SQL server service manager, click "Service" dropdown, select
"Distribute Transaction Coordinator", it should be also running on
your server computer.
Hope it helps,
Eric - Hi Eric(morningsunshine)
Thanks for your help it was really great solution provided by you and it definitely saved Complete day of work, I was getting the error for very long time back now it got resolved and we are using the seperate database server. One thing after following your steps I restrated the client machine only then it worked properly.
Regards
Ronytabh Pramanik.
Hi,
I plan using transaction scopes in my app. I am developing on a Win XP Prof. SP2 machine with SQL Server Personnel Edition. And I couldn't find how to enable MSDTC on my computer. I have to make this because i get an exception telling "no MSDTC avail on Computer". So I tried to start that service but couldn't find the service entry called MSDTC or DTC. Does MSDTC comes with Sql Server Enterprise-Standart edition? Or it is part of OS? Any help is appreciated.
Best regards,
Slm.
I had the same problem.
Exselent solution.
Many STHANKS!!!Hi Eric,
Thanks for your help. But I get another error:"The transaction has already been implicitly or explicitly committed or aborted (Exception from HRESULT: 0x8004D00E)"
Can anyone help me?!
Hi,
I actually also encountered this problem from time to time on my developing machine, while never on client computer. What I did was find the MSDTC service and do a restart on that service and that seems to work for me. I think there must be a configuration issue somewhere.
Anyone knows the true reason for this will be appreciated.
Eric
Hi Ngoc Luu,
We had the same problem, turned out to be the transaction timing out.
Hope it helps.
-T
It worked.
Thanks.
Unfortunately this did not work for me. All settings are the same on the client and on the remote server. Everything rebootet, service is running on both machines. But I allways get this timeout error. Any other idea what I could try?

Hi Eric,
i was so happy when i read ur post beacuse its about my problem, but i still have problems and hope u can help me.
first, the option u specify does not exist on the server im working on (running windows server 2000) although it does exist on my computer (client machine) which is running windows xp. unfortuntly thats not the only problem since we will host the web application on a shared company server (not ours) i cant control the properities of that server. can u help me in this please.
thanx & regards
Ghassan
Hi Ghassa,
I think in order to use this transaction approach you need to configure the server. Can you try to get the IT administrator to do this? Otherwise, I suggest you just use the standard transaction management approach, which is a transaction object on your data connection object. This is widely used.
Cheers,
Eric
Hi Eric,
thanx for your concern, the problem was that im using the standard transaction & have no idea why this message appears to me, and as i said before our server run windows server 2000 and not 2003 so i cant do like you did, by the way the problem solved, it was something in the communication between my computer and the server, so i adjust the firewall settings and have no problem now.
thanx again,
Ghassan
- Thanks a lot.
- Note for VISTA users.
On the client computer to get to the equivelent settings:
1 Run dcomcnfg
2 Expand the “Component Services” node, then the “My Computer” node, then the “Distributed Transaction Coordinator” node
3 Right-Click on the “Local DTC” node and select “Properties”
4 On the “Local DTC Properties”, select the “Security” tab
5 Select Network DTC Access, Allow Inbound, Allow Outbound, No Authentication Required, and Enable XA Transactions - Hi Eric,
I have my SQL Server 2000 running on a Windows 2000 Server. How do I configurate Windows 2000? Because I cannot see "Security Configuration", it is only available on my Win XP client machine.
morningsunshine wrote: First verify the "Distribute Transaction Coordinator" Service is
running on both database server computer and client computers
1. Go to "Administrative Tools > Services"
2. Turn on the "Distribute Transaction Coordinator" Service if it is not running
If it is running and client application is not on the same computer as
the database server, on the computer running database server
1. Go to "Administrative Tools > Component Services"
2. On the left navigation tree, go to "Component Services > Computers
> My Computer" (you may need to double click and wait as some nodes
need time to expand)
3. Right click on "My Computer", select "Properties"
4. Select "MSDTC" tab
5. Click "Security Configuration"
6. Make sure you check "Network DTC Access", "Allow Remote Client",
"Allow Inbound/Outbound", "Enable TIP" (Some option may not be
necessary, have a try to get your configuration)
7. The service will restart
8. BUT YOU MAY NEED TO REBOOT YOUR SERVER IF IT STILL DOESN'T WORK
(This is the thing drove me crazy before)
On your client computer use the same above procedure to open the
"Security Configuration" setting, make sure you check "Network DTC
Access", "Allow Inbound/Outbound" option, restart service and computer
if necessary.
On you SQL server service manager, click "Service" dropdown, select
"Distribute Transaction Coordinator", it should be also running on
your server computer.
Hope it helps,
Eric - Hi...
I have implemeted transaction service on my local system using Compensatabletransactionscope Activity...
i have done the changes in Administrative tools..
but still problem persists... iam using sqlserver2000.
pls guide me. - thanks, it work!!
Hi Eric,
I too got the same error. I did all the procedure as u mentioned before.still it shows the same error.Can u pls help me out in this regard
- This helped a lot. It worked the first time. Thank You
This post is very useful.- Hi Hardy,
did you solve your problem with your Windows 2000 Server?
I have the same problem.
Using TransactionScope in a .NET App on WinXP client -> SQL2000 on Win2000
Could turn out to be firewall problem...
Any help is greatly appreciated!
Stefan Hello,
I'm not able to find any tab or button named "Security Configuration" under "MSDTC" tab as mentioned in 5th point, My OS is Win2000 Server and I'm using SQL Server 2005.
Please help me as I'm alos facing the same problem. As I'm configuring "Transactional publication with updatable subscriptions".
Thanks in Advance.
Rohit
Eric,
Just wanted to say thanks for the post. I was having this same problem and your solution post definitely saved me a lot of time trouble shooting.
Thanks again,
Larry
Thank you very much.
Your solution is great.
Regards.
Joaquín Tribaldos
- Hi Eric,
I have done all the above settings i restart my system(xp proffessional),sql2005 express Both resisded in the same machine. still the problem presists could you please help me out to resolve the issue.
Thanks
vijay - YES!! Thank you! I have spent several hours trying to fix the error message, crawling the web for answers and trying all sorts of things. But THIS worked!! Thanks a ton. I also had to restart the computer running the remote database in order for the settings to take effect... however I did NOT need to restart the local (client) database machine. I will point some people to this solution.
- I recently had to install commerce server 2002 talking to SQL Server 2005 on a separate server, I did this many times and had several problems, but this time I had a different problem, My pipeline was failing and event log shows some transaction related error. I compared my MSDTC settings on other servers where Commerce Server was installed and running fine. After search for half a day I finally found your post on it, and the second point in your post actually did the magic, i.e., restarting the Distribute Transaction Coordinator on SQL Server, finally fixed my problem.
Here is the error log message, which got fixed by your post.
Event Type: Error
Event Source: Commerce Server 2002
Event Category: None
Event ID: 4104
Date: 9/24/2008
Time: 1:48:28 PM
User: N/A
Computer: XXXXXXXX
Description:
Pipeline Error: Component Execution failed for component[0x3] hr: 0x8004E003
ProgID: Commerce.RedeemPromoCodes
Exception of type 'System.EnterpriseServices.TransactionProxyException' was thrown.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Thanks a lot for your posting....I appreciate the help
Kiran Bheemarti I just had this error. And restarting MSDTC and the server did not help.
I learned that the same sqlConnection reference must be reused for all operations within the transaction scope.
The methods below utilize Microsofts SqlHelper class. The connection is closed automatically after each operation is completed.
WORKING EXAMPLE:
c = SharedDAL.GetSqlConnection()
Using scope As New TransactionScope()
c.Open()
newEntryID = CreateEntry(fileName, url, accountID, c)
columns.Save(newEntryID, c)
scope.Complete()End Using
NON WORKING EXAMPLE:
c = SharedDAL.GetSqlConnection()
Using scope As New TransactionScope()
c.Open()
newEntryID = CreateEntry(fileName, url, accountID, c)
columns.Save(newEntryID, SharedDAL.GetSqlConnection())
scope.Complete()End Using
I do not know why it was an issue with my code. Since Micrsofts example is clearly using two different connections.
http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx
It is of great help to me !!!
Thanks eric
-
paniraj n
- Hello,
Would you have an idea of all the security implication that kind of manipulation has?
And thanks, it solved my problem but I do hope it is not going to be too much of a security hole.
Best regards - Chyzo, to which part of thread do you refer when you asking your question? What kind of manipulation you are concerned about?
Val Mazur (MVP) http://www.xporttools.net Hello All,
I work in an environment where my SQL 2005 Servers are managed by a different department, and they have decided that allowing "Network DTC Access" in Component Services is not something they want to support.
My questions are:- Is there another way to get this functionality to work?
- If the answer to my first question is "No", is another way to get a single transaction to span two or more connection objects?
thanks,
theBoringCoder @ Work- Edited bytheBoringCoder at work Monday, March 09, 2009 5:19 PMbad signature
- If I am not mistaken, in a case of SQL Server 2005 if you are using TransactionScope in your code to wrap your transaction and if all the connections to database server inside of this transaction point to the same server, then provider automatically promotes transaction to local mode, which might work in your case.
Val Mazur (MVP) http://www.xporttools.net

