Simptomi
Pretpostavimo da imate tablicu sustava Microsoft SQL Server koja sadrži jedan ili više indeksa izgrađenih na njoj. Prilikom postavljanja upita u odnosu na tablicu SQL Server može provoditi nedosljedno popunjavanje podataka za stupce CHAR i BINARY. Nedosljedno ponašanje vraćanja završnih praznih vrijednosti na kraju podatkovnih stupaca CHAR i BINARY ovisi o sljedećim uvjetima:
- Postavke ANSI_PADDING prilikom stvaranja stupaca u SQL Server tablici.
- Odluka o izvođenju skeniranja tablice ili traženja indeksa na stupcima.
Uzrok
U određenim scenarijima SQL Server može provesti optimizaciju koja mu omogućuje zaobilaženje mnogih operacija radi brže isporuke podataka. Problem se pojavljuje jer SQL Server ne prepoznaje da se optimizacija ne može primijeniti za gore navedeni scenarij.
Dodatne informacije
Takvo ponašanje SQL Server nije u skladu s ponašanjem dokumentiranim u sljedećem članku: Korištenje podataka Char i Varchar.
Napomena
Ako je ANSI_PADDING uključen prilikom stvaranja stupca char NULL, ponaša se isto kao stupac char NOT NULL: vrijednosti se popunjavaju desno u odnosu na veličinu stupca. Ako je ANSI_PADDING isključen prilikom stvaranja stupca char NULL, ponaša se kao stupac varchar s ANSI_PADDING postavljenim OFF: završne praznine skraćuju se.
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
Kumulativno ažuriranje 8 za SQL Server 2014 SP2
Kumulativno ažuriranje 7 za SQL Server 2014 SP1
O kumulativnim ažuriranjima za SQL Server:
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Najnovije kumulativno ažuriranje za SQL Server 2017
Najnovije kumulativno ažuriranje za SQL Server 2016
Najnovije kumulativno ažuriranje za SQL Server 2014
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku "Odnosi se na"
Reference
Saznajte više o terminologiji koju Microsoft upotrebljava za opisivanje softverskih ažuriranja.