KB2649913 – RJEŠENJE: nakon nadogradnje s verzije SQL Server 2005 na SQL Server 2008 ili SQL Server 2008 R2 ili SQL Server 2012 može doći do smanjenja performansi kada pokrenete upit koji koristi spremljenu proceduru sp_cursoropen

Primjenjuje se na
SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Express with Advanced Services SQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Workgroup SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Express with Advanced Services SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard

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“.