Simptomi
Pretpostavimo da imate tablicu Microsoft SQL Server na kojoj je izgrađen jedan ili više indeksa. Kada odaberete upit u tablici, SQL Server može obavljati nedosljedno punjenje podataka za CHAR i BINARNE stupce. Nedosljedno ponašanje za povratak praznih praznina na kraju stupaca CHAR i BINARNIH podataka ovisi o sljedećim uvjetima:
-
Postavke ANSI_PADDING kada se stupci stvaraju u tablici sustava SQL Server.
-
Odluka o izvođenjem bilo koje tablice potražite u odjeljku Traženje i indeksiranje u stupcima.
Uzrok
U određenim slučajevima SQL Server može izvršiti optimizaciju koja omogućuje zaobilaženje mnogih operacija radi bržeg isporuke podataka. Problem se pojavljuje jer SQL poslužitelj ne prepoznaje da se optimizacija ne može primijeniti za gore navedeni scenarij.
Dodatne informacije
Ovo ponašanje sustava SQL Server nije u skladu s ponašanjem koje je dokumentirano u sljedećem članku: korištenje podataka Char i VARCHAR.
Ako je ANSI_PADDING uključeno kada je stvoren Char NULL stupac, on se ponaša isto kao Char NOT nulti stupac: vrijednosti su desnim podstavljene na veličinu stupca. Ako je ANSI_PADDING isključeno kada je stvoren Char NULL stupac, ponaša se kao stupac VARCHAR s ANSI_PADDING postavite: skraćeni su prazni.
Rješenje
Taj je problem riješen u sljedećim kumulativnim ažuriranjima za SQL Server:
Kumulativno ažuriranje 2 za SQL Server 2017
Kumulativno ažuriranje 9 za SQL Server 2016
Kumulativno ažuriranje 6 za SQL Server 2016 SP1
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Najnovije Kumulativno ažuriranje za SQL Server 2017
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na"
Reference
Saznajte više o terminologijikoju Microsoft koristi za opisivanje softverskih ažuriranja.