Distributed Transaction Coordinator on Linux
With the introduction of the endpoint mapper functionality for SQL Server 2019 on Linux, the addition of Microsoft Distributed Transaction Coordinator (MSDTC) has become easy, too. MSDTC on a Linux host or VM will need port 135 open for the RPC endpoint mapper process to bind (network.rpcport
). Best practice also dictates that you should definitively set the port MSDTC listens to (distributedtransaction.servertcpport
); otherwise, a random port can be chosen upon restart, creating a loss in service when a firewall exception hasn't been prepared for the change in ports that are open to the outside.
To statically set the port for MSDTC to listen to, use the following command:
$ sudo /opt/mssql/bin/mssql-conf set network.rpcport 13500
SQL Server must be restarted for this change to take effect:
$ sudo systemctl restart mssql-server
After this configuration change, the firewall rules will need to be updated on the Linux host...