SQL Azure & ACID Transactions: not so much in back to 2001

I wrote a blog entry back in November 2010 about ACID Transactions & SQL Azure.

I assumed light transactions using System.Transactions.TransactionScope were not supported based on an article I’ve just read back then.  The article suggested using explicit transaction management (i.e. BeginTransaction, Commit & Rollback on the returned SqlTransaction object) which I found quite backward, hence the title:  back to 2001.

I went as far as creating an entry on My Great Windows Azure Idea requesting the ability to use TransactionScope for light transaction-only.

Well, it turns out I was wrong and you do not have to go that close to the metal:  TransactionScope is already supported as long you don’t enlist more than one connection into, in which case it would escalate to a distributed transaction, which isn’t supported in SQL Azure.

The article I referred to back then has been revised to make that point explicit in the mean time, so I’m correcting my blog entry here.  You can also read some more about it here.

Sorry about the misleading and thank you Luis Panzano for pointing that out to me!

Leave a comment