Orphaned DTC Transaction

May 24, 2008 | Leave a Comment

A few days ago, one of our applications was crashing the IIS application pool because of an unhandled exception. After some research we figured out the case of it was an orphaned MS DTC transaction.

When multiple connections are operating over one MS DTC transaction, this problem sometime shows up. As many connections are working none of them try to roll back the MS DTC transaction, this creates an orphaned connection, which crashes IIS application pools.

You can figure out if there is orphaned connection or not in your application using the following script. If there is an orphaned connection it will show up in the result (s), otherwise the script will return no results.

SELECT DISTINCT(req_transactionUOW) FROM sys.syslockinfo WHERE req_spid = -2

We fixed this issue using Hotfix provided by Microsoft.