Sintomas
Assuma que tem uma tabela do Microsoft SQL Server que tem um ou mais índices construídos nele. Quando se questiona contra a tabela, o SQL Server pode efetuar um acolchoamento de dados inconsistente para colunas CHAR e BINARY. O comportamento inconsistente para devolver os espaços em branco no final das colunas de dados CHAR e BINARY depende das seguintes condições:
-
As definições do ANSI_PADDING quando as colunas são criadas na tabela SQL Server.
-
A decisão de efetuar uma digitalização de tabela ou um índice procura nas colunas.
Causa
Em certos cenários, o SQL Server pode realizar uma otimização que lhe permite contornar muitas operações para uma entrega mais rápida de dados. O problema ocorre porque o SQL Server não reconhece que a otimização não pode ser aplicada para o cenário acima.
Mais Informações
Este comportamento do SQL Server não está em conformidade com o comportamento documentado no seguinte artigo: Utilização de dados char e Varchar.
Se ANSI_PADDING estiver ligado quando uma coluna de carvão NULL é criada, comporta-se da mesma forma que uma coluna char NOT NULL: os valores são acolchoados à direita ao tamanho da coluna. Se ANSI_PADDING estiver DESLIGADO quando uma coluna de carvão NULL é criada, comporta-se como uma coluna varchar com ANSI_PADDING desligado: os espaços em branco são truncados.
Resolução
Esta emissão é corrigida nas seguintes atualizações cumulativas para o SQL Server:
Atualização Cumulativa 2 para SQL Server 2017
Atualização Cumulativa 9 para SQL Server 2016
Atualização Cumulativa 6 para SQL Server 2016 SP1
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 2017
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft que estão listados na secção "Aplica-se a"
Referências
Conheça a terminologiaque a Microsoft utiliza para descrever atualizações de software.