You use Microsoft Visual Studio 2010 and Microsoft .NET Framework 4.0 to create an application.
The application updates several Microsoft SQL Server databases within a single transaction.
You need to ensure that after a resource failure, you can manage unresolved transactions. What should you do?
A.
Call the EnlistVolatile method of the Transaction class.
B.
Call the EnlistDurable method of the Transaction class.
C.
Call the Reenlist method of the TransactionManager class.
D.
Call the RecoveryComplete method of the TransactionManager class.
Explanation:
Enlisting Resources as Participants in a Transaction
(http://msdn.microsoft.com/en-us/library/ms172153.aspx)Implementing a Resource Manager
(http://msdn.microsoft.com/en-us/library/ms229975.aspx)Committing a Transaction in Single-Phase and Multi-Phase
(http://msdn.microsoft.com/en-us/library/ckawh9ct.aspx)—————————————————————————————————–
TransactionManager.Reenlist() Reenlists a durable participant in a transaction. A resource manager facilitates resolution of durable enlistments in
a transaction by reenlisting the transaction participant after resource failure.
Transaction.EnlistVolatile() Enlists a volatile resource manager to participate in a transaction. Volatile resource managers cannot recovery
from failure to complete a transaction in which they were participating.
Transaction.EnlistDurable() Enlists a durable resource manager to participate in a transaction.
TransactionManager.RecoveryComplete() Notifies the transaction manager that a resource manager recovering from failure has finished
reenlisting in all unresolved transactions. All durable resource managers should do recovery when they first start
up by calling the Reenlist method for each outstanding transaction.
Only when all of the reenlistments are done should the resource manager call RecoveryComplete.TransactionManager.Reenlist() Method
(http://msdn.microsoft.com/en-us/library/system.transactions.transactionmanager.reenlist.aspx)Transaction.EnlistVolatile() Method
(http://msdn.microsoft.com/en-us/library/system.transactions.transaction.enlistvolatile.aspx)Transaction.EnlistDurable()
(http://msdn.microsoft.com/en-us/library/system.transactions.transaction.enlistdurable.aspx)TransactionManager.RecoveryComplete() Method
(http://msdn.microsoft.com/en-us/library/system.transactions.transactionmanager.recoverycomplete.aspx)