Microsoft distribuira Ispravke za Microsoft SQL Server 2008 R2 kao jednu datoteku koja se može preuzeti. Pošto su ispravke kumulativne, svako novo izdanje sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodno izdanje SQL Server 2008 R2 ispravke.
Simptomi
U programu Microsoft SQL Server 2008 R2 možete dobiti nedosledne rezultate kada pokrenete složeni upit koji koristi operator APPLY. Napomena Ako koristite podsetnik za upit FORCE ORDER u upitu, dobićete tačan rezultat.
Uzrok
Do ovog problema dolazi zato što optimizator upita bira neispravan plan izvršavanja upita. Optimizator upita rukuje predikatom GROUP BY za više kolona u fizičkom operatoru plana izvršavanja. Međutim, operator će izuti sve grupisane kolone na izlaznoj listi i ne grupisa sve ove kolone. Zbog toga upit može da vrati netačan rezultat. Napomena Primer fizičkog operatora je operator "Agregat toka". Na primer, optimizator upita generiše grupnu by ColA, ColB klauzulu interno u odnosu na sledeću tabelu:
ColA |
ColB |
---|---|
0 |
0 |
0 |
1 |
Optimizator upita može pogrešno da generiše plan izvršavanja koji vraća kolone ColAi ColB. Ove kolone su grupisane kolonom ColA na izlaznoj listi. U ovom primeru, upit može nasumično da vrati 0ili 1 u koloni KolB ako su vrednosti u koloni ColA0.
Rešenje
Kumulativne informacije o ažuriranju
SQL Server 2008 R2
Ispravka za ovaj problem je prvi put objavljena u kumulativnoj ispravci 5. Za više informacija o nabavljanju ovog paketa kumulativnih ispravki za SQL Server 2008 R2 kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2438347 Kumulativni paket ispravki 5 za SQL Server 2008 R2 Napomena Pošto su verzije kumulativne, svako novo izdanje ispravke sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodno izdanje SQL Server 2008 R2 ispravke. Preporučujemo da razmislite o primeni najnovijeg izdanja ispravke koje sadrži ovu hitnu ispravku. Za više informacija kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
981356 SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 was released
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Više informacija
Da biste proverili da li imate ovaj problem, pregledajte plan izvršenja problematičnog upita, a zatim proverite operatore grupe. Na primer, proverite agregatni operator toka, operator agregata hash, poseban operator sortiranja i operator segmenta. Ako je lista izlaznih kolona duža od liste grupisanih kolona, dolazi do ovog problema.
Reference
Za više informacija o postepenom modelu servisiranja za SQL Server kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
935897 Sql Server tim je dostupan u SQL Server timu za isporuku hitnih ispravki za prijavljene problemeZa više informacija o šemi imenovanja za ispravke sistema SQL Server kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
822499Nova šema imenovanja za pakete softverskih ispravki za Microsoft SQL ServerZa više informacija o terminologiji softverskih ispravki kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
824684 Opis standardne terminologije koja se koristi za opisivanje Microsoft softverskih ispravki