11.7. Troubleshooting DTC Problems

The Microsoft Distributed Transaction Coordinator (MSDTC) service is the component included with Windows 2000 and above (also available on NT4) that is responsible for providing and coordinating transactions between multiple Windows machines. This is used by COM and .NET to provide transactional capabilities for programs built on either of these systems. To ensure that all operations are transactional in an environment that may potentially contain multiple servers all performing different roles, BizTalk uses MSDTC to ensure that the operations are transactionally consistent. Figure 11-26 shows the high-level architecture for the distributed transaction that is used by BizTalk to dequeue messages in a transactional manner from MQSeries and publish them into the MessageBox.

Figure 11.26. Figure 11-26

Three servers are involved in the transaction: the MQSeries server, the BizTalk Receive host server, and the SQL server that hosts the BizTalk MessageBox. MSDTC is used throughout to ensure that the operation is done atomically (that is, the message is either successfully removed from MQSeries and published into the MessageBox or the transaction is aborted and it remains on the queue). MSDTC is also used whenever BizTalk persists data to the MessageBox (for example, when a persistence point is hit in an orchestration). It is clear from these scenarios ...

Get Professional BizTalk® Server 2006 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.