FIX: "Msg 3948" error when you run a query on secondary replica of secondary availability group in SQL Server 2016 and 2017

Applies to: SQL Server 2016 StandardSQL Server 2016 DeveloperSQL Server 2016 Enterprise

Symptoms


Assume that you are running a query on a secondary replica of the secondary availability group of a distributed availability group in Microsoft SQL Server 2016 and 2017.  When you run a transaction log backup on another replica in the distributed availability group at the same time, the query fails, and you receive the following error message:

Msg 3948, Level 16, State 2, Line Linenumber

The transaction was terminated because of the availability replica config/state change or because ghost records are being deleted on the primary and the secondary availability replica that might be needed by queries running under snapshot isolation. Retry the transaction.

Resolution


This problem is fixed in the following cumulative updates for SQL Server:

       Cumulative Update 4 for SQL Server 2017

       Cumulative Update 7 for SQL Server 2016 SP1

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.