Microsoft distribueert Microsoft SQL Server 2008 R2 als één downloadbaar bestand. Aangezien de fixes cumulatief zijn, bevat elke nieuwe release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 R2 correctie.

Symptomen

Neem het volgende scenario:

  • Met een toepassing wordt een query uitgevoerd die verwijst naar sommige tijdelijke tabellen in Microsoft SQL Server 2008 en in Microsoft SQL Server 2008 R2. De tijdelijke tabellen worden gemaakt in een sessie in plaats van in een opgeslagen procedure.

  • Het queryplan is in cache opgeslagen.

  • Een groot aantal gebruikers voert dezelfde query uit in een zeer gelijktijdige omgeving. Zo wordt in veel gebruikers een toepassing gebruikt die de volgende query uitvoert:

    create table #x (col1 int) go insert into #x values (1) go select * from #x where col1 = 1 go

In dit scenario stuit de toepassing op prestatieproblemen.Opmerking Zie de sectie ' meer informatie ' voor meer informatie over het identificeren van dit probleem.

Oorzaak

Dit probleem doet zich voor omdat in de cache dezelfde queryplannen in de cache worden opgenomen voor elke gebruiker wanneer de querytekst hetzelfde is. Wanneer een groot aantal plannen wordt gehasheerd naar dezelfde buckets (ook wel een hash-chain genoemd), is het tijd om een plan op te zoeken in de cache, en kunnen de prestatieproblemen optreden. Daarnaast kunnen werknemers threads grote spinlock-inhoudsering tegenkomen en worden andere threads beïnvloed wanneer deze werknemers threads de juiste rendementen niet uitvoeren.

Oplossing

Opmerking Momenteel is de update voor SQL Server 2008 R2 momenteel beschikbaar. Voor SQL Server 2008 raadpleegt u de sectie tijdelijke oplossing om dit probleem tijdelijk op te lossen.

Cumulatieve updategegevens

SQL Server 2008 R2 Service Pack 1

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 1 voor SQL Server 2008 R2 Service Pack 1. Als u meer informatie wilt over het verkrijgen van dit cumulatieve updatepakket, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2544793 Cumulatief update pakket 1 voor SQL Server 2008 R2 Service Pack 1Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 R2 correctie. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:

2567616 De SQL Server 2008 R2-builds die zijn uitgebracht na SQL Server 2008 R2 Service Pack 1 is uitgebracht

SQL Server 2008 R2

De oplossing voor dit probleem werd voor het eerst uitgebracht in cumulatieve update 7. Voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2 klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2507770 Cumulatief update pakket 7 voor SQL Server 2008 R2 Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 R2 correctie. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:

981356 De SQL Server 2008 R2-builds die zijn uitgebracht nadat SQL Server 2008 R2 werd uitgebracht

Status

Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Workaround

Voor een tijdelijke oplossing voor dit probleem in SQL Server 2008 en SQL Server 2008 R2 verplaatst u verwijzingen naar tijdelijke tabellen naar binnen opgeslagen procedures.

Meer informatie

Ga naar de volgende MSDN-website voor meer informatie over het maken en wijzigen van basisbeginselen voor tabellen:

Basisprincipes van tabellen maken en wijzigenSpinlock-inhoud kan worden geïdentificeerd met behulp van de sys.dm_os_spinlock_stats dynamische beheerweergave (DMV) met een hoge mate van de inhoud van de SOS_CACHESTORE spinlock. Als u dit probleem wilt identificeren, voert u een query uit die er ongeveer als volgt uitziet:

select cp.bucketid, count(cp.bucketid) as BucketCount, st.text from sys.dm_exec_cached_plans cp cross apply sys.dm_exec_sql_text(cp.plan_handle) as st group by cp.bucketid, st.text having count(cp.bucketid) >1 order by BucketCount descAls u deze query uitvoert, kunnen de volgende voorwaarden van toepassing zijn:

  • Met deze query wordt dezelfde querytekst gegenereerd.

  • Het aantal voor dezelfde bucketid is groot.Opmerking Een groot aantal voor dezelfde bucketid bevindt zich meestal in 1000.

  • De tijdelijke tabellen van de query verwijzingen

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Hoe tevreden bent u met de vertaalkwaliteit?
Wat heeft uw ervaring beïnvloed?

Bedankt voor uw feedback.

×