KB4074881 - CORREÇÃO: Erro de asserção quando os dados são inseridos em massa numa tabela que contém índices columnstore não agrupados e agrupados no SQL Server 2016 e 2017

Aplica-se A
SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Sintomas

Suponha que você execute uma consulta que carrega dados usando a instrução BULK INSERT em uma tabela que tenha um índice columnstore não clusterizado e um índice columnstore clusterizado no SQL Server 2016 e 2017. Se a consulta for executada ao mesmo tempo através de múltiplas ligações e SQL Server não conceder memória suficiente a algumas ligações, a operação BULK INSERT poderá falhar e receber erros de asserção semelhantes aos seguintes:

Nota

  • Erro: 17066, gravidade: 16, estado: 1.
  • SQL Server Assertion: File:< qsupdate.cpp>, line=902 Failed Assertion = 'nullptr != m_prsBulkInPhases'. Este erro pode estar relacionado com a temporização. Se o erro persistir depois de executar novamente a instrução, use DBCC CHECKDB para verificar a integridade estrutural do banco de dados ou reinicie o servidor para garantir que as estruturas de dados na memória não estejam corrompidas.
  • Erro: 3624, gravidade: 20, estado: 1.
  • Uma verificação de asserção do sistema falhou. Consulte o registo de erros SQL Server para obter detalhes. Normalmente, uma falha de asserção é causada por um bug de software ou corrupção de dados. Para verificar se há danos no banco de dados, considere executar DBCC CHECKDB. Se concordou em enviar informações de perda para a Microsoft durante a configuração, será enviada uma minicaptura para a Microsoft. Pode estar disponível uma atualização da Microsoft no Service Pack mais recente ou numa Correção do Suporte Técnico.

Além disso, um arquivo de despejo é gerado pelo SQL Server.

Resolução

Esta correção está incluída nas seguintes atualizações cumulativas para SQL Server:

Atualização cumulativa 6 para SQL Server 2017

Atualização cumulativa 8 para SQL Server 2016 Service Pack 1.

Acerca de SQL Server compilações

Cada nova compilação para o SQL Server 2016 contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que instale as atualizações cumulativas mais recentes para SQL Server:

Atualização cumulativa mais recente para o SQL Server 2017

Compilação mais recente do SQL Server 2016

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.