Symptômes
Supposez que vous disposez d’une table Microsoft SQL Server contenant un ou plusieurs index intégrés. Lorsque vous effectuez une requête sur la table, SQL Server risque d’appliquer une marge de données incohérente pour les colonnes CHAR et BINARY. Le comportement incohérent pour le retour des espaces de fin à la fin des colonnes de données CHAR et BINARY dépend des conditions suivantes :
-
Les paramètres de l’ANSI_PADDING lors de la création de colonnes dans la table SQL Server.
-
La décision d’effectuer une analyse tabulaire ou une recherche d’index sur les colonnes.
Cause
Dans certains scénarios, SQL Server peut procéder à une optimisation qui lui permet de contourner de nombreuses opérations pour une remise plus rapide des données. Ce problème survient parce que SQL Server ne reconnaît pas que l’optimisation ne peut pas être appliquée pour le scénario ci-dessus.
Informations supplémentaires
Ce comportement de SQL Server n’est pas conforme au comportement documenté dans l’article suivant : utilisation de données char et varchar.
Si ANSI_PADDING est activé lors de la création d’une colonne de type NULL, il se comporte de la même façon qu’une colonne car NOT NULL : les valeurs sont remplies à droite de la taille de la colonne. Si la ANSI_PADDING est désactivée lors de la création d’une colonne de type NULL, elle se comporte comme une colonne varchar avec ANSI_PADDING désactivé : les blancs de fin sont tronqués.
Résolution
Ce problème a été résolu dans les mises à jour cumulatives de SQL Server suivantes :
Mise à jour cumulative 2 pour SQL Server 2017
Mise à jour cumulative 9 pour SQL Server 2016
Mise à jour cumulative 6 pour SQL Server 2016 SP1
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Dernière mise à jour cumulative pour SQL Server 2017
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Références
Apprenez-en davantage sur la terminologieutilisée par Microsoft pour décrire les mises à jour logicielles.