Sintomas
Suponha que você tenha uma tabela do Microsoft SQL Server que tenha um ou mais índices criados. Quando você consulta na tabela, o SQL Server pode executar um preenchimento de dados inconsistente para colunas CHAR e BINARY. O comportamento inconsistente para retornar espaços em branco à direita no final das colunas de dados BINÁRIOs e caracteres depende das seguintes condições:
-
As configurações da ANSI_PADDING quando as colunas são criadas na tabela do SQL Server.
-
A decisão de executar uma verificação de tabela ou busca de índice nas colunas.
Causa
Em determinados cenários, o SQL Server pode executar uma otimização que permite ignorar muitas operações para entrega de dados mais rápida. O problema ocorre porque o SQL Server não reconhece que a otimização não pode ser aplicada para o cenário acima.
Informações adicionais
Esse comportamento do SQL Server não é compatível com o comportamento documentado no artigo a seguir: usar dados char e varchar.
Se ANSI_PADDING estiver ATIVAda quando uma coluna de caracteres NULL for criada, ela comportá-la com uma coluna char NOT NULL: os valores serão preenchidos com o botão direito do mouse no tamanho da coluna. Se ANSI_PADDING estiver desativado quando uma coluna nula de caracteres for criada, ela se comportará como uma coluna varchar com ANSI_PADDING definido como desativada: espaços em branco à direita são truncados.
Resolução
Esse problema foi corrigido nas seguintes atualizações cumulativas do 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 incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Atualização cumulativa mais recente do SQL Server 2017
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft que estão listados na seção "Aplicável a"
Referências
Saiba mais sobre a terminologiaque a Microsoft usa para descrever atualizações de software.