Distributed Transaction FAQ

Hi,

We wish to perform distributed transactions (using ADO.net 2) across multiple DB instances.
Another team's previous experience with DT has shown that in the case where the application crashes it is possible that transactions will be stuck (some blame to DTC failing to realize the application crashed). The stuck transactions had to be manually killed

Is that possible?
Does the MSDTC not have a timeout?
Is it configurable?

Whatare the problems I should expect when performing a distributed transaction?

Almost everyone I went to ask about this told me to stay away from DT but have had too little experience to be considered "reliable'.

Your advice appreciated.

Cheers,

[748 byte] By [Newborn] at [2007-12-28]
# 1

Hi,

I'm trying to answer all your questions:

- MSDTC transactions have a timeout and that timeout is configurable.

- MSDTC will also detect when an application crashes and will abort the transaction depending on what phase the transaction is. If the transaction is passed phase 1, then MSDTC will do recovery for that transaction.

I would be interested to know why your friends told you to stay away from distributed transactions.

Cheers,

Florin

FlorinLazar-MSFT at 2007-9-4 > top of Msdn Tech,Software Development for Windows Vista,Transactions Programming...

Software Development for Windows Vista

Site Classified