症状
假设你在 Microsoft SQL Server 2012、2014或2016中将数据库的 目标恢复时间 设置为非零值。 如果在检查点进程期间发生断言,则断言会在数据库上导致租约超时,并且你将收到以下转储文件:
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.
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
SQL Server 2012 的累积更新 7 Service Pack 3
SQL Server 2014 的累积更新 3 Service Pack 2
SQL Server 2014 的累积更新 10 Service Pack 1
关于 SQL Server 的累积更新
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新: Sql server 2012 SP3 的最新累积更新
解决方法
若要解决此问题,请将受影响数据库的目标恢复时间设置为零。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的 术语 。