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...
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
Post a Comment