Simptome
Razmotrite sledeći scenario:
-
Bazu podataka sa nivoom kompatibilnosti postavljenim na 130 u programu Microsoft SQL Server 2016.
-
Izvršavate upit koji pristupa indeksu skladišta kolona i indeksu skladišta redova ili grupi i uključuje predikat filtera (odredba WHERE).
U ovom scenariju SQL Server moći da gura predikat filtera bliže operatoru izvora podataka (skeniranje tabele ili indeksa ili traženje). To može dovesti do suboptimalnih performansi upita.
Pored toga, ako upit koristi izraz (kao što je konverzija tipa) gde njegova ispravnost zavisi od filtriranih podataka (na primer, kolona tabele znakova se konvertuje u int, ali samo podskup vrednosti sadrži važeći int prikaz i taj podskup se identifikuje po predikatu filtera), upit možda neće uspeti sa greškom u konvertovanju podataka koja izgleda ovako:
Msg 245, nivo 16, Stanje 1, Konverzija reda 20
nije uspela prilikom konverzije varchar vrednosti "0,5" u int tipa podataka.
Msg 8114, nivo 16, stanje 5, Linija 34
Greška pri konvertovanju tipa podataka varchar u bigint.
Rezoluciju
Ovaj problem je rešen u sledećoj kumulativnim ispravkama za SQL Server:
Kumulativna ispravka 2 za SQL Server 2016 SP1
BeleškeMorate omogućiti hitne ispravke optimizatora upita da bi ovo rešenje primenilo.
Možete da omogućite hitne ispravke optimizatora upita pomoću neke od sledećih opcija: zastavica za praćenje 4199, postavka konfiguracije opsega baze podataka QUERY_OPTIMIZER_HOTFIXES=ON (dostupno u programu SQL Server 2016 i novijim verzijama) ili USE_HINT opcije upita "ENABLE_QUERY_OPTIMIZER_HOTFIXES" (dostupno u sistemu SQL Server 2016 SP1 i novijim verzijama).
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Najnovije kumulativne ispravke za SQL Server 2016.
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Reference
Saznajte više o terminologiji kojuMicrosoft koristi za opisivanja softverskih ispravki.