Symptoms
Assume that you use the AlwaysOn Availability Groups feature in Microsoft SQL Server 2014. After you restart an instance of SQL Server, the databases that participate in the availability groups may display a "NOT SYNCHRONIZING" status on the secondary replicas. Additionally, you can't join or remove the databases from the availability groups. And you also can't remove the availability groups from the secondary replicas.
In this situation, error messages that resemble the following are logged in the SQL Server error log:Starting up database 'Database_Name'.
Skipping the default startup of database 'Database_Name' because the database belongs to an availability group (Group ID: Group_ID). The database will be started by the availability group. This is an informational message only. No user action is required. State information for database 'Database_Name' - Hardended Lsn: '(0:0:0)' Commit LSN: '(0:0:0)' Commit Time: 'datetime' AlwaysOn Availability Groups connection with primary database terminated for secondary database 'Database_Name' on the availability replica 'Replica_Name' with Replica ID: {Replica_ID}. This is an informational message only. No user action is required. State information for database 'Database_Name' - Hardended Lsn: '(0:0:0)' Commit LSN: '(0:0:0)' Commit Time: 'datetime' State information for database 'Database_Name' - Hardended Lsn: '(0:0:0)' Commit LSN: '(0:0:0)' Commit Time: 'datetime' Starting up database 'Database_Name'. AlwaysOn Availability Groups connection with primary database established for secondary database 'Database_Name' on the availability replica 'REPLICA_NAME' with Replica ID: {Replica_ID}. This is an informational message only. No user action is required. 2289 transactions rolled forward in database 'Database_Name' (107:0). This is an informational message only. No user action is required. CHECKDB for database 'Database_Name' finished without errors on datetime (local time). This is an informational message only; no user action is required. AlwaysOn Availability Groups connection with primary database terminated for secondary database 'Database_Name' on the availability replica 'REPLICA_NAME' with Replica ID: {Replica_ID}. This is an informational message only. No user action is required.
Cause
This issue occurs because of a deadlock condition between a redo thread and a switch-role thread.
Resolution
This problem was first fixed in the following cumulative updates for SQL Server 2014:
Cumulative Update 2 for SQL Server 2014 Service Pack 1 Cumulative Update 9 for SQL Server 2014
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:
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.