Symptom
Anta att du har en Microsoft SQL Server-tabell som har ett eller flera inbyggda index. När du frågar mot tabellen kan SQL Server utföra inkonsekvent datautfyllnad för tecken och binära kolumner. Inkonsekvent beteende när du returnerar efterföljande blank steg i slutet av kolumnerna CHAR och BINARY data beror på följande:
-
Inställningarna för ANSI_PADDING när kolumner skapas i SQL Server-tabellen.
-
Beslutet att utföra antingen tabells ökning eller indexerings sökning för kolumnerna.
Orsak
I vissa fall kan SQL Server utföra en optimering som gör att den kan kringgå många åtgärder för snabbare data överföring. Problemet beror på att optimeringen inte kan användas för ovanstående scenario i SQL Server.
Mer information
Den här funktionen i SQL Server följer inte det beteende som beskrivs i följande artikel: använda char-och varchar-data.
Om ANSI_PADDING är på när en kolumn med char-NULL skapas, fungerar den likadan som en kolumn med tecken som inte är NULL: värden högerjusteras i kolumn storleken. Om ANSI_PADDING är inaktiverat när en kolumn med char-NULL skapas, beter sig den som en kolumn med namnet varchar med ANSI_PADDING: efterföljande tomma är avkortade.
Lösning
Det här problemet är åtgärdat i följande kumulativa uppdateringar för SQL Server:
Kumulativ uppdatering 2 för SQL Server 2017
Kumulativ uppdatering 9 för SQL Server 2016
Kumulativ uppdatering 6 för SQL Server 2016 SP1
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Senaste kumulativa uppdateringen för SQL Server 2017
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller"
Referenser
Lär dig mer om terminologinsom Microsoft använder för att beskriva program varu uppdateringar.