First published on MSDN on Jul 05, 2018
If you are running a SQL Server Failover Cluster Instance on premises and looking to migrate to Azure, you might be a little intimidated. This architecture is a bit complex because it uses quite a few different technologies all working together. My goal is to help clarify the pieces and steps needed to build this out.
There is already a great article that walks through the configuration. It has links to supplemental information as well, so it's an excellent reference guide. There is, however, one thing it does not cover. It does not show how to configure a clustered MSDTC. In this article I will list the pieces required to make this work and give you a video walk through on the entire configuration. Read this article first to become familiar with the steps.
To make a clustered MSDTC work in this architecture we need to make sure of a couple things. We need to use a Standard Load Balancer instead of a Basic Load Balancer. Since we have to use a Standard Load Balancer that means the IPs for our VMs also have to be Standard IPs. You can only add Basic IPs to a Basic Load Balancer and Standard IPs to a Standard Load Balancer.
The other requirement is the Windows version. The MSDTC did not support using a Cluster Shared Volume as its shared storage when Windows Server 2016 was released. Support for that was not introduced until Windows Server 2016 version 1709. Although the support was added to version 1709 and 1803, neither of those builds include the desktop experience (No GUI). In Windows Server 2019 we get both the Desktop Experience as well as support for the MSDTC to use Cluster Shared Volumes.
Here is a video where I walk through the entire build process of this architecture including both SQL and the MSDTC. Note that this is just for demonstration purposes and not following all best practices for building Windows Server Failover Clusters. For instance, I do not even configure a witness which you would absolutely do for a production build.
MSDTC support and configuration can be a bit confusing. Read this article on MSDTC Supported Configurations for more information.
You should also look at MSDTC Best Practices with an Availability Group.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.