KB4055758 – LØS: Inkonsekvent virkemåte for å returnere etterfølgende tomme celler på slutten av CHAR- og BINÆR-data i SQL Server

Gjelder for
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Symptomer

Anta at du har en Microsoft SQL Server-tabell som har én eller flere indekser bygd på seg. Når du spør mot tabellen, kan SQL Server utføre inkonsekvent datautfylling for CHAR- og BINÆR-kolonner. Den inkonsekvente virkemåten for å returnere etterfølgende tomme celler på slutten av CHAR- og BINÆR-datakolonnene, avhenger av følgende forhold:

  • Innstillingene for ANSI_PADDING når kolonner opprettes i SQL Server tabellen.
  • Beslutningen om å utføre enten tabellskanning eller indekssøking på kolonnene.

Årsak

I enkelte scenarier kan SQL Server utføre en optimalisering som gjør at den kan omgå mange operasjoner for raskere datalevering. Dette problemet oppstår fordi SQL Server ikke gjenkjenner at optimaliseringen ikke kan brukes for scenarioet ovenfor.

Mer informasjon

Denne virkemåten til SQL Server samsvarer ikke med virkemåten som er dokumentert i følgende artikkel: Bruke Char- og Varchar-data.

Obs!

Hvis ANSI_PADDING er PÅ når en char NULL-kolonne opprettes, oppfører den seg på samme måte som en char NOT NULL-kolonne: verdiene er høyrepolstret til størrelsen på kolonnen. Hvis ANSI_PADDING er OFF når en char NULL-kolonne opprettes, oppfører den seg som en varchar-kolonne med ANSI_PADDING satt OFF: etterfølgende tomme celler avkortes.

Oppløsning

Dette problemet er løst i følgende kumulative oppdateringer for SQL Server:

Kumulativ oppdatering 2 for SQL Server 2017

Kumulativ oppdatering 9 for SQL Server 2016

Kumulativ oppdatering 6 for SQL Server 2016 SP1

Kumulativ oppdatering 8 for SQL Server 2014 SP2

Kumulativ oppdatering 7 for SQL Server 2014 SP1

Om kumulative oppdateringer for SQL Server:

Hver nye kumulative oppdatering for SQL Server inneholder alle hurtigreparasjoner og alle sikkerhetsrettinger som fulgte med den forrige kumulative oppdateringen. Ta en titt på de nyeste kumulative oppdateringene for SQL Server:

Den nyeste kumulative oppdateringen for SQL Server 2017

Den nyeste kumulative oppdateringen for SQL Server 2016

Den nyeste kumulative oppdateringen for SQL Server 2014

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen «Gjelder for»

Kilder

Finn ut mer om terminologien som Microsoft bruker til å beskrive programvareoppdateringer.