FIX: Memory corruption occurs during Availability Group failovers for DTC transactions in SQL Server 2017

Applies to: SQL Server 2017 Developer on WindowsSQL Server 2017 Enterprise on WindowsSQL Server 2017 Enterprise Core on Windows

Symptoms


Consider the following scenario:

  • You have an AlwaysOn Availability Group (AG) in SQL Server 2017 with database Distributed Transaction Coordinator (DTC) support enabled.
  • During Availability Group failovers, SQL Server internal DTC State for all the databases in the AG is first stopped, and then all the active transactions for all the databases of this availability group are killed.
  • However, before the active transactions are killed, if these transactions try to access the stopped DTC State, a memory corruption may occur.
  • This happens because the transactions are trying to access the memory that has already been deleted.

Resolution


This issue is fixed in the following cumulative update for SQL Server:

       Cumulative Update 1 for SQL Server 2017

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References


Learn about the terminology that Microsoft uses to describe software updates.