Distributed Transactions

I recently had a chat with a friend who thought that if we do ADO.NET transactions, those would be distributed transactions. That is obviously incorrect, so I thought let me clarify for everyone here.

A Distributed transaction is a transaction which involves multiple resource managers. These could be MSMQ and SQL Server or 2 SQL Server Instances, or SQL Server and Oracle.. etc.

Each of these resource managers support transactions within themselves, using that does not mean you are creating a Distributed Transaction, which is actually much more expensive, but necessary in some scenarios where you need transactional integrity.

To implement this using .NET, you have to register the assembly with COM+ and use some attributes. It is very interesting and Juval Lowy had written an interesting book on this subject quite some time ago, which also discusses Queued Components interestingly...

Comments

Popular posts from this blog

Tutorial: Using Google Cloud Storage from C# and .NET

Late 2008 Macbook only giving 1.5 gb/s speed with 6 gb/s Intel SSD?

The ridiculous interview experience