FIX: The Target Recovery Time of a database set to a nonzero value causes an assertion and a lease timeout in SQL Server

Symptoms

Assume that you have the target recovery time of a database set to a nonzero value in Microsoft SQL Server 2012,2014 or 2016. If an assertion occurs during the checkpoint process, the assertion causes a lease timeout on the database, and you receive the following dump file:
date time  spid14s Error: 17066, Severity: 16, State: 1.
date time spid14s SQL Server Assertion: File: <recoveryunit.cpp>, line=7849 Failed Assertion = 'm_ReducedDataSlice <= MaxReducedDataSlice'. This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted.
date time spid14s Error: 3624, Severity: 20, State: 1.
date time spid14s A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a Hotfix from Technical Support.
date time spid14s Error: 18400, Severity: 16, State: 1.
date time spid14s The background checkpoint thread has encountered an unrecoverable error. The checkpoint process is terminating so that the thread can clean up its resources. This is an informational message only. No user action is required.

Resolution

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

Workaround

To work around this issue, set the target recovery time to zero for the affected database.

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.
Properties

Article ID: 3201865 - Last Review: Jan 17, 2017 - Revision: 5

Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Enterprise Core, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2016 Service Pack 1, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Enterprise Core, Microsoft SQL Server 2016 Standard

Feedback