KB4056117 - CORREÇÃO: A asserção ocorre quando transmite a variável de tabela otimizada para memória para um procedimento armazenado como parâmetro com valor de tabela no SQL Server 2016 e 2017

Aplica-se A
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) 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 utiliza In-Memory OLTP (Online Transaction Processing) no Microsoft SQL Server 2016 e 2017. Quando transmite uma variável de tabela otimizada para memória para um procedimento armazenado como um parâmetro de valor de tabela (TVP), pode ocorrer um erro de asserção. Além disso, um ficheiro de informação de falha de sistema é gerado por SQL Server.

Nota

  • Localização: "interop.cpp":Número de Linha
    Expressão: falso
    SPID: SPID
    ID do Processo: ProcessID
    Msg 3624, Nível 20, Estado 1, Procedure ProcedureName, Line LineNumber [Batch Start LineNumber]
  • Uma verificação de asserção do sistema falhou. Verifique o SQL Server registo de erros para obter detalhes. Normalmente, uma falha de asserção é causada por um erro de software ou danos nos dados. Para verificar se existem danos na base de dados, considere executar DBCC CHECKDB. Se tiver concordado em enviar informações de falha de sistema à Microsoft durante a configuração, será enviada uma mini captura 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.
  • Msg 596, Nível 21, Estado 1, Número de Linha
    Não é possível continuar a execução porque a sessão está no estado de eliminação.
    Msg 0, Nível 20, Estado 0, Line LineNumber
    Ocorreu um erro grave no comando atual.  Os resultados, se existirem, devem ser eliminados.

Resolução

Este problema foi corrigido na seguinte atualização cumulativa para SQL Server:

Atualização Cumulativa 4 para SQL Server 2017

Atualização Cumulativa 7 para SQL Server 2016 SP1

Acerca das atualizações cumulativas para SQL Server:

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

Atualização cumulativa mais recente do SQL Server 2017

Atualização cumulativa 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.