Sintomi
Supponiamo di avere il tempo di recupero di un database impostato su un valore diverso da zero in Microsoft SQL Server 2012, 2014 o 2016. Se si verifica un'asserzione durante il processo checkpoint, l'asserzione causa un timeout del lease nel database e viene visualizzato il file di dump seguente:
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.
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 7 per SQL Server 2012 Service Pack 3
Aggiornamento cumulativo 3 per SQL Server 2014 Service Pack 2
Aggiornamento cumulativo 10 per SQL Server 2014 Service Pack 1
Aggiornamento cumulativo 4 per SQL Server 2016
Aggiornamento cumulativo 1 per SQL Server 2016 SP1
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server: Ultimo aggiornamento cumulativo per SQL server 2012 SP3
Ultimo aggiornamento cumulativo per SQL Server 2014 Ultimo aggiornamento cumulativo per SQL Server 2016
Soluzione alternativa
Per risolvere il problema, impostare il tempo di recupero di destinazione su zero per il database interessato.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.