Data Developer Center > Data Platform Development Forums > ADO.NET Data Providers > The partner transaction manager has disabled its support for remote/network transactions
Ask a questionAsk a question
 

AnswerThe partner transaction manager has disabled its support for remote/network transactions

  • Thursday, February 02, 2006 2:29 AMmorningsunshine Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

  • Wednesday, February 22, 2006 3:18 AMmorningsunshine Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    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
  • Friday, February 03, 2006 7:11 AMmorningsunshine Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    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

  • Friday, February 03, 2006 7:11 AMmorningsunshine Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    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

  • Tuesday, February 21, 2006 9:24 PMNitu Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

     

  • Wednesday, February 22, 2006 3:18 AMmorningsunshine Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    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
  • Thursday, February 23, 2006 11:07 AMRony Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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.

  • Thursday, March 23, 2006 3:33 PMSLMOFLZ Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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.

  • Monday, April 10, 2006 10:21 PMDBD2 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I had the same problem.
    Exselent solution.
    Many STHANKS!!!

  • Monday, May 15, 2006 8:34 AMNgoc Luu Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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?!

  • Thursday, May 18, 2006 10:34 PMmorningsunshine Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

     

  • Saturday, May 20, 2006 8:24 PMTim.Nielsen Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi Ngoc Luu,

    We had the same problem, turned out to be the transaction timing out.

    Hope it helps.

     

    -T

     

     

  • Thursday, August 24, 2006 9:12 PMCAnil Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

     It worked.

    Thanks.

  • Friday, October 20, 2006 9:24 AMdx05 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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?

  • Thursday, December 07, 2006 8:26 AMGhassan Tadros Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

  • Tuesday, December 12, 2006 5:58 AMmorningsunshine Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

  • Thursday, December 14, 2006 12:52 PMGhassan Tadros Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

  • Monday, March 12, 2007 1:03 PMDavid Rittinghaus Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Thanks a lot.
  • Monday, May 21, 2007 1:54 AMKurt Gooding Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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
  • Thursday, June 07, 2007 3:03 PMHardy Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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
  • Friday, June 08, 2007 5:27 AMAK0969 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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.


  • Friday, August 03, 2007 1:58 PMa_Gui__e Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    thanks, it work!!
  • Wednesday, September 05, 2007 5:25 AMShalini.G Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

  • Monday, October 08, 2007 8:11 PMWilliam Knight Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    This helped a lot.  It worked the first time. Thank You

     

  • Thursday, November 08, 2007 8:50 AMnagii Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

     

    This post is very useful.
  • Tuesday, December 04, 2007 10:04 AMsklp Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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
  • Wednesday, March 19, 2008 9:37 AMmcdbarohit Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

  • Friday, April 04, 2008 8:26 PMSan Diego Larry Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

     

     

  • Thursday, May 08, 2008 11:19 AMjoaquintc Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Thank you very much.

    Your solution is great.

     

    Regards.

     

    Joaquín Tribaldos

     

  • Wednesday, June 18, 2008 6:12 AMvijay_siva Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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
  • Thursday, June 26, 2008 6:46 PMRobSolem Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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.

     

  • Wednesday, September 24, 2008 6:14 PMKiran Kumar Bheemarti Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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

  • Thursday, October 02, 2008 8:04 PMWaclaw Stypula Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

     

    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

  • Friday, October 17, 2008 12:30 PMPaniraj N Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    It is of great help to me !!!

    Thanks eric

    -

    paniraj n

  • Wednesday, December 17, 2008 7:58 AMChryzo Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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
  • Wednesday, December 17, 2008 11:21 AMVMazurMVP, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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
  • Monday, March 09, 2009 5:14 PMtheBoringCoder at work Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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:

    1. Is there another way to get this functionality to work?
    2. 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

  • Wednesday, March 11, 2009 10:05 AMVMazurMVP, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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