Wednesday, June 25, 2008

The transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D024)

In .Net this exception occurs when using the TransactionScope.


using (TransactionScope ts = new TransactionScope())
{

}


Follow this instructions on all database servers and web servers to configure properly the MSDTC service.

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" (Not required if the client machine and remote machines are in the same domain)
7. The MSDTC service will restart.

On the 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 the SQL server service manager, click "Service" dropdown, select
"Distribute Transaction Coordinator", it should be also running on
the SQL server computer.


Is this does not solve the issue, check the web server to ensure if DTC is enable.
1) Go To Control Panel
2) Add Remove Programs -> Add/Remove Windows Components
4) Select the Application Server and Click on the Details button
5) Ensure that Enable DTC Service is selected.



Additional Reading about MSDTC here:

http://en.wikipedia.org/wiki/Distributed_Transaction_Coordinator

http://msdn.microsoft.com/en-us/library/ms684146.aspx

5 comments:

  1. Do you still use free service like blogspot.com or wordpress.com but
    they have less control and less features.
    shift to next generation blog service which provide free websites for
    your blog at free of cost.
    get fully controllable (yourname.com)and more features like
    forums,wiki,CMS and email services for your blog and many more free
    services.
    hundreds reported 300% increase in the blog traffic and revenue
    join next generation blogging services at www.hyperwebenable.com
    regards
    www.hyperwebenable.com

    ReplyDelete
  2. I only hade to enable DTC...

    thanx

    ReplyDelete
  3. please tell me how to enable "Network DTC Access" programatically using c#,vb..?

    ReplyDelete
  4. Thanks Javier, I will try your solution...

    ReplyDelete
  5. You need to check what the problem is first by using the Event Viewer for Applications log. there you look for the yellow warning sign and the real problem will be told. It's much faster to see which of the following steps you need to use when you do this first.
    Steps are clear though, thanks for the information about this!
    Cheers

    ReplyDelete