BizTalk Message Transaction refers to the processing and reliable delivery of messages between systems using Microsoft BizTalk Server. A message transaction in BizTalk can involve receiving, processing, and sending messages in a controlled, fail-safe manner, often involving orchestration, pipelines, and adapters.
The Microsoft Distributed Transaction Coordinator (MSDTC) service is responsible for managing and coordinating transactions across multiple Windows servers, such as BizTalk, SQL Server, and web servers hosting WCF services.
In BizTalk environment where multiple servers perform different roles, BizTalk relies on MSDTC to maintain transactional consistency, ensuring that all operations complete as part of a single, reliable transaction.
MSDTC (Microsoft Distributed Transaction Coordinator) maintains atomic transactions by ensuring the “all-or-nothing” principle across multiple resource managers (such as SQL Server, BizTalk, file systems, or WCF services) even when they span multiple servers.
Here’s how MSDTC ensures atomicity:
1. Two-Phase Commit ProtocolMSDTC uses the two-phase commit protocol to coordinate distributed transactions:
Suppose BizTalk receives a message, processes it, and stores data in SQL Server while it also invoking a WCF service. MSDTC ensures that:
MSDTC guarantees that all parts of a distributed transaction succeed, preserving the atomicity across systems.
Maintaining a healthy MSDTC configuration is critical in a BizTalk Server environment, because it underpins the reliable execution of distributed transactions across multiple resource managers such as SQL Server, MSMQ, and other BizTalk components.
Best Practice | Description |
---|---|
Enable Network DTC Access | On all BizTalk and SQL machines. |
Configure Mutual Authentication | For secure and successful communication. |
Set Same DTC Security Settings | Across all BizTalk and SQL nodes. |
Open Required Ports | Allow DCOM & MSDTC through firewalls (TCP 135 + dynamic range) |
Monitor Event Logs | Look for MSDTC errors and address them proactively. |
Periodic Validation | Use DTCPing and DTCTester tools to test DTC across servers. |
With BizTalk360, you can leverage Automated Tasks to proactively monitor and maintain the health of your MSDTC configuration.
Set up an Automated Task in BizTalk360 that executes a PowerShell-based health check using the Test-DTC command. This enables you to continuously verify the MSDTC connectivity and configuration between BizTalk and SQL Servers, helping you identify and resolve issues before they impact your environment.
Note: If your environment includes multiple BizTalk and SQL Servers, create separate custom workflow steps to verify MSDTC connectivity between each unique pair of servers.
PowerShell Task – DTC CommandThe Test-Dtc PowerShell command is used to validate whether two machines—such as a BizTalk Server and a SQL Server—can successfully participate in networked transactions, ensuring proper MSDTC connectivity and configuration.
The Test-Dtc command provides clear insights into the MSDTC configuration status. It generates warnings when certain settings or firewall rules are disabled and throws errors if transaction propagation fails. These outputs help identify the potential issues such as:
Note: You can download the PowerShell script to perform an MSDTC health check between two servers (e.g., BizTalk and SQL Server)
Configure the Automated Task to run at regular intervals based on your business requirements—for example, every 15 minutes or once an hour.
The integrated PowerShell script will execute at each scheduled interval to assess MSDTC health and can trigger notifications accordingly.
To receive alerts, simply customize the PowerShell script to send notifications when issues are detected.
By analysing the Failure Reasons and Warnings provided under Additional Information, you can quickly identify any problems that might be disrupting networked transactions between the servers.
Ensuring the health of MSDTC network configuration is vital for seamless BizTalk message processing, especially in distributed environments where transactions span multiple systems.
By automating the monitoring of MSDTC network configurations, teams can proactively detect and resolve issues before they impact business-critical processes. This not only minimizes downtime but also reduces the manual overhead on operations teams, enhancing overall efficiency and reliability.
Investing in such automation is a strategic step towards a more stable, secure, and responsive BizTalk infrastructure—enabling organizations to focus more on innovation and less on troubleshooting.
To know more about the BizTalk360 features, try out the free trial or book a demo.