You are designing a Windows Azure application that will store data in two SQL Azure databases. The application will insert data in both databases as part of a single logical operation.
You need to recommend an approach for maintaining data consistency across the databases.
What should you recommend?
A . Execute database calls on parallel threads
B . Wrap the database calls in a single transaction scope.
C . Use Microsoft Distributed Transaction Coordinator (MSDTC).
D . Handle errors resulting from the database calls by using compensatory logic.
The TransactionScope class establishes an ambient transaction in.NET. (An “ambient transaction” is one that lives in the current thread.) All connections opened within the TransactionScope participate in the transaction. If different databases participate, the transaction is automatically elevated to a distributed transaction. The outcome of the transaction is controlled by setting the scope to complete to indicate a commit.
Note: Elastic database transactions for SQL DB enable applications to make atomic changes to data stored in several different SQL Databases.
Elastic database transactions targets the following scenarios:
* Multi-database applications in Azure: With this scenario, data is vertically partitioned across several databases in SQL DB such that different kinds of data reside on different databases. Some operations require changes to data which is kept in two or more databases. The application uses elastic database transactions to coordinate the changes across databases and ensure atomicity.