FIX: Prestaties afnemen wanneer u een query die gebruikt de sp_cursoropen procedure opgeslagen na een upgrade van SQL Server 2005 met SQL Server 2008 of SQL Server 2008 R2 of SQL Server-2012

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 2649913 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Microsoft distribueert Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) of Microsoft SQL Server-2012 correcties in één downloadbaar bestand. Aangezien de oplossingen cumulatief zijn, elke nieuwe release bevat de hotfixes en de beveiligingsupdates die opgenomen in de vorige SQL Server 2008 R2 Service Pack 1 (SP1) of Microsoft SQL Server-2012 zijn update release.

Symptomen

Het volgende scenario:
  • Upgrade van Microsoft SQL Server 2005 naar Microsoft SQL Server 2008 of Microsoft SQL Server 2008 R2 of Microsoft SQL Server-2012.
  • Uitvoeren van een query die met de sp_cursoropen opgeslagen procedure en geef vervolgens de rowcount de parameter op te halen van de eerste verschillende rijen van een tabel.
In dit scenario kan de prestaties zijn langzamer dan als u dezelfde query in SQL Server 2005 uitvoeren.

Oorzaak

Dit probleem treedt op omdat een statische cursorplan queryoptimalisatie in plaats van een dynamische cursorplan gebruikt. Voor een statische cursor-plan SQL Server alle rijen ophaalt en deze wordt ingevoegd in de tabel cursor. Voor een dynamische cursor-plan ophaalt SQL Server echter alleen de rijen die nodig zijn.

Oplossing

Informatie over de cumulatieve update

SQL-Server 2012

De correctie voor dit probleem werd eerst uitgebracht in de cumulatieve Update 1 voor SQL Server-2012. Voor meer informatie over dit cumulatieve updatepakket klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
2679368 Cumulatieve updatepakket 1 voor SQL Server-2012
Opmerking Omdat de builds cumulatief zijn, elke nieuwe release correctie bevat de hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2012 zijn release opgelost. Microsoft raadt aan u de meest recente fix release waarin deze hotfix toepast. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
2692828 De SQL Server-2012 bouwt die zijn uitgebracht na 2012 van SQL Server werd uitgebracht.
U moet een hotfix voor SQL Server 2012 toepassen op een installatie van SQL Server-2012.

Pakket 5 cumulatieve update voor SQL Server 2008 R2 SP1

Nadat u deze hotfix hebt toegepast, moet u traceringsvlag 4199 inschakelen.

De correctie voor dit probleem werd eerst uitgebracht in de cumulatieve Update 5. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2 SP1:
2659694 Pakket 5 cumulatieve update voor SQL Server 2008 R2 SP1
Opmerking Omdat de builds cumulatief zijn, elke nieuwe release correctie bevat de hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2008 R2 SP1 zijn release opgelost. Wij raden de meest recente fix release waarin deze hotfix toepast. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
2567616 SQL Server 2008 R2 bouwt die zijn uitgebracht nadat SQL Server 2008 R2 SP1 is uitgebracht.

Workaround

Dit probleem omzeilen de queryaanwijzing snel aan de query toevoegen.

Meer informatie

Ga naar de volgende MSDN-website voor meer informatie over het gebruik van query-hints:
Algemene informatie over het gebruik van query-hints
Ga naar de volgende website voor meer informatie over traceringsvlag 4199:
Algemene informatie over traceringsvlag 4199

Status

Microsoft heeft bevestigd dat dit een probleem is in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Eigenschappen

Artikel ID: 2649913 - Laatste beoordeling: donderdag 12 april 2012 - Wijziging: 1.0
De informatie in dit artikel is van toepassing op:
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
Trefwoorden: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2649913 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:2649913

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com