KB3208245 - CORREÇÃO: resultado incorreto da consulta quando você usa a variável varchar(max) na condição de pesquisa no SQL Server 2014 ou 2016

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 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use) 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 2016 Service Pack 1

Sintomas

Tenha em conta o seguinte cenário:

  • Pode executar uma consulta que contém uma condição de pesquisa com, pelo menos, dois predicados de igualdade na mesma coluna de carateres de tamanho limitado (utilizando uma cláusula OR ou IN).
  • Você define uma variável varchar(max) e a usa em um ou mais predicados de igualdade descritos acima.
  • Especifique a dica de consulta RECOMPILAR na consulta.

Nesse cenário, a consulta pode retornar resultados incorretos.

Resolução

O problema foi corrigido na seguinte atualização cumulativa do SQL Server:

Recomendação: Instale a atualização cumulativa mais recente para o 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. Recomendamos que transfira e instale as atualizações cumulativas mais recentes para SQL Server:

 

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.