KB3201865 - CORREÇÃO: O tempo de recuperação de destino de um banco de dados definido para um valor diferente de zero causa uma asserção e um tempo limite de concessão no SQL Server

Aplica-se A
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Sintomas

Suponha que você tenha o tempo de recuperação de destino de um banco de dados definido para um valor diferente de zero no Microsoft SQL Server 2012, 2014 ou 2016. Se uma asserção ocorrer durante o processo de ponto de verificação, a asserção causará um tempo limite de concessão no banco de dados e você receberá o seguinte arquivo de despejo:

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. 

Resolução

Este problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:

Atualização cumulativa 7 para SQL Server 2012 Service Pack 3
      

Atualização cumulativa 3 para SQL Server 2014 Service Pack 2

Atualização cumulativa 10 para SQL Server 2014 Service Pack 1

Atualização cumulativa 4 para SQL Server 2016

Atualização cumulativa 1 para SQL Server 2016 SP1


Acerca das atualizações cumulativas para SQL Server

Acerca das atualizações cumulativas para SQL Server

Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:

     Atualização cumulativa mais recente para o SQL Server 2012 SP3

Atualização cumulativa mais recente para o SQL Server 2014Atualização cumulativa mais recente para o SQL Server 2016

      

Solução

Para contornar esse problema, defina o tempo de recuperação de destino como zero para o banco de dados afetado.

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Referências

Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.