Aplica-se A
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 2014 Service Pack 2 - duplicate (do not use) SQL Server 2017 Standard on Windows SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows 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

Assuma que tem uma consulta que realiza algumas operações de cordas, por exemplo, concatenação, nas colunas CHAR ou VARCHAR no Microsoft SQL Server 2014, 2016 e 2017. Considere o seguinte cenário:

  • Você concatena colunas com diferentes colagens que lhes são atribuídas.

  • Estas colagens são incompatíveis umas com as outras. Por exemplo, tenta-se concatenar uma coluna que é coligida como Latin1_General_CI_AI com Latin1_General_BIN.

  • O resultado final da concatenação é atribuído a uma colagem específica (incluindo "database_default") como uma questão da resolução de conflitos de colagem.

Neste cenário, o SQL Server pode devolver um retalhista afirmando que afirma "Comparação inválida devido a NENHUMA COLLATION", e pode receber algumas mensagens de erro que se assemelham às seguintes:

Localização: typinfo.cpp:LineNumber Expressão: falsa SPID: SPID ID do processo: ProcessID Descrição: Comparação inválida devido a NENHUMA COLAGEM.

Msg 3624, Nível 20, Estado 1, LineNumber Uma verificação de afirmação do sistema falhou. Verifique o registo de erros do SQL Server para obter mais detalhes. Normalmente, uma falha de afirmação é causada por um bug de software ou corrupção de dados. Para verificar se existe corrupção na base de dados, considere executar o DBCC CHECKDB. Se concordar em enviar despejos para a Microsoft durante a configuração, será enviada uma mini lixeira para a Microsoft. Uma atualização pode estar disponível da Microsoft no mais recente Pack de Serviços ou num Hotfix de Suporte Técnico.

Msg 596, Nível 21, Estado 1, LineNumber Não posso continuar a execução porque a sessão está no estado de morte.

Msg 0, Nível 20, Estado 0, LineNumber

Ocorreu um erro grave no comando atual.  Os resultados, se houver, devem ser descartados.

Causa

Durante a fase de otimização de consultas, o SQL Server tenta calcular cardeais em resultados intermédios de várias fases da consulta, por exemplo, a concatenação. Como a resolução de conflitos de colagem ocorre no final, o otimizador de consultas pode desconhecer-se e tentar realizar a computação da concatenação cardinalícia numa entrada com colagem conflituosa.

Resolução

Esta emissão é corrigida nas seguintes atualizações cumulativas para o SQL Server:

       Atualização cumulativa 8 para SQL Server 2016 SP1  

       Atualização Cumulativa 4 para SQL Server 2017

       Atualização Cumulativa 9 para SQL Server 2014 SP2

Cada nova atualização cumulativa do 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. Confira as últimas atualizações cumulativas do SQL Server:

Última atualização cumulativa para SQL Server 2016

Última atualização cumulativa para SQL Server 2017

Última atualização cumulativa para SQL Server 2014

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Referências

Conheça a terminologiaque a Microsoft utiliza para descrever atualizações de software.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.