Distributed transactions form a vital member in distributed systems architecture. It provides ACID (Atomicity, Consistency, Isolation and Durability) properties to transactions that span across systems using two-phase commit. On Windows operating systems, Microsoft Distributed Transaction Coordinator (MSDTC) service has provided the capability to perform distributed transactions since Windows NT 4.0 and 2000 servers. SQL Server has used this capability on Windows systems to provide distributed transaction functionality. This allows SQL Servers to enlist in distributed transactions while providing transactional guarantees.
With SQL Server 2017, a new era was heralded with SQL server being available to deploy on Linux (and Linux based container) systems. While all functionality of the SQL Server engine were brought over as is to SQL Server on Linux, some of the functionality which depended on Windows system processes such as distributed transactions (which relies on MSDTC service) were not brought over immediately.
With SQL Server 2019 CTP 2.1, we introduced support for distributed transaction support for SQL Server on Linux deployments, by bringing Distributed Transaction Coordinator components within SQLPAL, the Platform Abstraction Layer which allows the same SQL Server to run against Linux operating systems.
Today we are glad to announce that we have brought the distributed transaction support for SQL Server 2017 on Linux deployments starting with SQL Server 2017 CU16. You can read more about how to configure SQL Server and Linux system to enable distributed transactions on this page.
Robert Dorr – Principal Software Engineer
Kapil Thacker – Senior Software Engineer
Val Menn – Senior Software Engineer
Ben Ko – Senior Software Engineer
Mike Habben – Principal Software Engineering Manager