Simptome
Să presupunem că aveți un tabel Microsoft SQL Server care are unul sau mai multe indexuri construite pe acesta. Atunci când interogați împotriva tabelului, SQL Server poate efectua spațierea inconsistentă a datelor pentru coloane CHAR și BINARe. Comportamentul inconsistent pentru returnarea golurilor necompletate la sfârșitul coloanelor de date CHAR și BINARe depinde de următoarele condiții:
-
Setările ANSI_PADDING când sunt create coloane în tabelul SQL Server.
-
Decizia de a efectua fie scanarea de tabel, fie indexul caută în coloane.
Cauză
În anumite scenarii, SQL Server poate efectua o optimizare care îi permite să evite mai multe operații pentru livrarea mai rapidă a datelor. Problema apare deoarece SQL Server nu recunoaște faptul că nu se poate aplica optimizarea pentru scenariul de mai sus.
Mai multe informații
Acest comportament de SQL Server nu este conform cu comportamentul care este documentat în următorul articol: utilizarea datelor char și varchar.
Dacă ANSI_PADDING este activată atunci când este creată o coloană NULL Char, aceasta se comportă ca o coloană char NOT NULL: valorile sunt căptușite la dreapta la dimensiunea coloanei. Dacă ANSI_PADDING este dezactivat atunci când este creată o coloană de caractere NULL, se comportă ca o coloană varchar cu ANSI_PADDING setat: necompletate în urmă sunt trunchiate.
Rezolvare
Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server:
Actualizarea cumulativă 2 pentru SQL Server 2017
Actualizarea cumulativă 9 pentru SQL Server 2016
Actualizarea cumulativă 6 pentru SQL Server 2016 SP1
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Cea mai recentă actualizare cumulativă pentru SQL Server 2017
Cea mai recentă actualizare cumulativă pentru SQL Server 2016
Cea mai recentă actualizare cumulativă pentru SQL Server 2014
Stare
Microsoft a confirmat faptul că aceasta este o problemă în produsele Microsoft listate în secțiunea "se aplică la"
Referințe
Aflați despre terminologiape care o utilizează Microsoft pentru a descrie actualizările de software.