Microsoft distribuira popravke servisnog paketa Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) ili Microsoft SQL Server 2012 u jednoj datoteci koja se može preuzeti. Budući da su popravci kumulativni, svako novo izdanje sadrži sve hitne popravke i sigurnosna ažuriranja obuhvaćena prethodnim izdanjem ažuriranja servisnog paketa 1 (SP1) za SQL Server 2008 R2 Service Pack 1 (SP1) ili Microsoft SQL Server 2012.
Simptomi
Razmotrite sljedeći scenarij:
- Nadograđujete s Microsoft SQL Server 2005 na Microsoft SQL Server 2008 ili na Microsoft SQL Server 2008 R2 ili na Microsoft SQL Server 2012.
- Pokrenite upit koji koristi sp_cursoropen spremljenu proceduru, a zatim navedite parametar rowcount koji dohvaća prvih nekoliko redaka tablice.
U tom scenariju performanse mogu biti sporije nego kad isti upit pokrenete u sustavu SQL Server 2005.
Uzrok
Taj se problem pojavljuje jer optimizator upita koristi statički plan pokazivača umjesto dinamičnog plana pokazivača. U slučaju statičnog plana pokazivača, SQL Server dohvaća sve retke i umeće ih u radnu tablicu pokazivača. No u planu s dinamičnim pokazivačima SQL Server dohvaća samo retke koji su potrebni.
Rješenje
Kumulativni podaci o ažuriranju
SQL Server 2012
Rješenje tog problema prvi je put objavljeno u kumulativnom ažuriranju 1 za SQL Server 2012. Dodatne informacije o tom paketu kumulativnog ažuriranja potražite u članku iz Microsoftove baze znanja pod brojem
2679368 Paket kumulativnog ažuriranja 1 za SQL Server 2012Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka za SQL Server 2012. Microsoft preporučuje da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:
2692828 međuverzije SQL Server 2012 koje su izdane nakon objave SQL Server 2012 Na instalaciju sustava SQL Server 2012 morate primijeniti hitni popravak SQL Server 2012.
Paket kumulativnog ažuriranja 5 za SQL Server 2008 R2 SP1
Kada primijenite ovaj hitni popravak, omogućite zastavicu praćenja 4199.
Rješenje tog problema prvi je put izdano u kumulativnom ažuriranju 5. Dodatne informacije o nabavi paketa kumulativnog ažuriranja za SQL Server 2008 R2 SP1 potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:
2659694 Paket kumulativnog ažuriranja 5 za SQL Server 2008 R2 SP1Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravaka za SQL Server 2008 R2 SP1. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:
2567616 međuverzije SQL Server 2008 R2 izdane nakon izdanja sustava SQL Server 2008 R2 SP1
Zaobilazno rješenje
Da biste zaobišli taj problem, u upit dodajte podsjetnik za upit FAST upit.
Dodatne informacije
Dodatne informacije o korištenju podsjetnika za upite potražite na sljedećem MSDN-ovom web-mjestu:
Opće informacije o korištenju podsjetnika za upit Dodatne informacije o tragovima 4199 potražite na sljedećoj web stranici:
Opće informacije o zastavici praćenja 4199
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.