Síntomas
Suponga que tiene una tabla de Microsoft SQL Server que tiene uno o varios índices integrados. Cuando realiza una consulta en la tabla, SQL Server puede llevar a cabo un relleno de datos incoherente para las columnas CHAR y BINARY. El comportamiento incoherente para devolver espacios en blanco finales al final de las columnas CHAR y BINARY Data depende de las siguientes condiciones:
-
La configuración de la ANSI_PADDING cuando se crean columnas en la tabla de SQL Server.
-
La decisión de realizar un recorrido de tabla o un índice de búsqueda en las columnas.
Causa
En algunos escenarios, SQL Server puede llevar a cabo una optimización que le permita eludir muchas operaciones para ofrecer una entrega de datos más rápida. El problema se produce porque SQL Server no reconoce que no se puede aplicar la optimización del escenario anterior.
Más información
Este comportamiento de SQL Server no cumple con el comportamiento que se describe en el artículo siguiente: uso de datos char y VARCHAR.
Si ANSI_PADDING está activado cuando se crea una columna CHAR NULL, se comporta igual que una columna CHAR NOT NULL: los valores se rellenan a la derecha hasta el tamaño de la columna. Si ANSI_PADDING está desactivado cuando se crea una columna CHAR NULL, se comporta como una columna VARCHAR con ANSI_PADDING establecer como desactivada: los espacios en blanco finales se truncan.
Resolución
Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:
Actualización acumulativa 2 para SQL Server 2017
Actualización acumulativa 9 para SQL Server 2016
Actualización acumulativa 6 para SQL Server 2016 SP1
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
Actualización acumulativa más reciente de SQL Server 2017
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "se aplica a"
Referencias
Obtenga más información sobre la terminologíaque Microsoft usa para describir las actualizaciones de software.