FIX: Scheduler deadlock on AlwaysOn Availability Group primary replica in SQL Server 2012


When you perform a database backup on a secondary replica in an AlwaysOn Availability Group in Microsoft SQL Server 2012, the following 9019 error is logged in the secondary replica error log:
<Date><Time> spid # Error: 9019, Severity: 21, State: 1.
<Date><Time> spid #The virtual log file sequence 0x00058a7b at offset 0x00000000000c0000 bytes in file '<Path><File name>' is active and cannot be overwritten with sequence 0x00058a89 for database '<DatabaseName>'.
<Date><Time> Backup Database backed up. Database: <DatabaseName>, creation date(time): <Date><Time> , pages dumped: 154322427, first LSN: 363130:429485:1, last LSN: 363144:639968:1, number of dump devices: 1, device information: (FILE=1, TYPE=DISK: {‘<Path><File name>’}). This is an informational message only. No user action is required.

A 9019 error may occur on the secondary replica until the secondary backup is complete. During this time, there may be scheduler concurrency issues on the primary replica, and these issues may trigger a scheduler deadlock. Additionally, clients may freeze when they are connected to the computer that’s running SQL Server and that hosts the primary replica. In this situation, the following errors are logged in the SQL Server error log:
<Date><Time>Server Using 'dbghelp.dll' version '4.0.5'
<Date><Time> Server **Dump thread - spid = 0, EC = 0x0000000000000000
<Date><Time> Server ***Stack Dump being sent to <Path>\SQLDump0001.txt
<Date><Time> Server * *******************************************************************************
<Date><Time> Server *
<Date><Time> Server * BEGIN STACK DUMP:
<Date><Time> Server * <Date><Time> spid #
<Date><Time> Server *
<Date><Time> Server * Deadlocked Schedulers
<Date><Time> Server *
<Date><Time> Server * *******************************************************************************
<Date><Time> Server * -------------------------------------------------------------------------------
<Date><Time> Server * Short Stack Dump
<Date><Time> Server Stack Signature for the dump is 0x00000000000001BC
<Date><Time> Server Error: 19407, Severity: 16, State: 1.
<Date><Time> Server The lease between availability group '< availability group name>' and the Windows Server Failover Cluster has expired. A connectivity issue occurred between the instance of SQL Server and the Windows Server Failover Cluster. To determine whether the availability group is failing over correctly, check the corresponding availability group resource in the Windows Server Failover Cluster.


Cumulative update information

Cumulative Update 5 for SQL Server 2012 Service Pack 1

The fix for this issue was first released in Cumulative Update 5. For more information about how to obtain this cumulative update package for SQL Server 2012 Service Pack 1, click the following article number to view the article in the Microsoft Knowledge Base:
2861107 Cumulative update package 5 for SQL Server 2012 Service Pack 1
Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2012 Service Pack 1 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2772858 The SQL Server 2012 builds that were released after SQL Server 2012 Service Pack 1 was released


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

Article ID: 2869734 - Last Review: Aug 15, 2013 - Revision: 1

Microsoft SQL Server 2012 Service Pack 1, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard