There are many questions in the community about BizTalk Server supporting MultiSubnetFailover connection option while working with BizTalk databases in Availability Group. This article will clarify some of the doubts related to where it is supported in BizTalk.
BizTalk Server 2020 is updated to use the new Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) for its internal working when connecting to BizTalk Databases. Older versions of BizTalk Server use legacy OLEDB or SQL Server Native Client. Though both SQL Server Native Client and new Microsoft OLE DB Driver has support for MultiSubnetFailover connection option, BizTalk Server does not set this connection option in the connection string when connecting to BizTalk Databases in SQL Availability Group or Failover Clustering Instance.
For connection to SQL Server using WCF-SQL adapter, BizTalk Server (starting with BizTalk Server 2016) does support setting MultiSubnetFailover connection option. WCF-SQL adapter uses ADO.NET provider (System.Data.SqlClient).
When working with user database in Availability Group or FCI, MultiSubnetFailover connection option can be set to True, using binding property MultiSubnetFailover in adapter configuration.
SQL Server Availability Group documentation recommends specifying MultiSubnetFailover=True when connecting to a SQL Server availability group listener even if the availability group only spans a single subnet.
SQL Server Native Client documentation recommends not specifying MultiSubnetFailover=Yes when connecting to something other than an availability group listener or Failover Cluster Instance. This may result in a negative performance impact, and is not supported.
Default value for MultiSubnetFailover in WCF-SQL adapter configuration is True. When creating receive location or send port, remember to set this property correctly according to target SQL Server topology.