Sintomi
Si supponga che il tempo di ripristino di destinazione di un database sia impostato su un valore diverso da zero in Microsoft SQL Server 2012,2014 o 2016. Se si verifica un'asserzione durante il processo del checkpoint, l'asserzione causa un timeout di lease nel database e si riceve il seguente file di dump:
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
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:
Aggiornamento cumulativo più recente per SQL Server 2012 SP3
Aggiornamento cumulativo più recente per SQL Server 2014Aggiornamento cumulativo più recente per SQL Server 2016
Soluzione alternativa
Per risolvere questo problema, impostare il tempo di ripristino di destinazione su zero per il database interessato.
Stato
Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.