FIX: Error 3961 occurs when you use Application roles for the second time in read-only secondary replicas in SQL Server 2016 AG

Applies to: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core More

Symptoms


Assume that you have read-only secondary replicas in Microsoft SQL Server 2016 AlwaysOn Availability Group (AG). When you use SQL Server Application roles in the replica for the first time, it works as expected. However, when you use them again, the Application roles may fail and you will receive the following error message:

Msg 3961, Level 16, State 1, Line Line Number
Snapshot isolation transaction failed in database '<DatabaseName>' because the object accessed by the statement has been modified by a DDL statement in another concurrent transaction since the start of this transaction. It is disallowed because the metadata is not versioned. A concurrent update to metadata can lead to inconsistency if mixed with snapshot isolation.

Resolution


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

Cumulative update 4 for SQL Server 2016 SP2

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 Microsoft uses to describe software updates.