Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Microsoft distribuerar Microsoft SQL Server 2008 R2-korrigeringsfiler som en nedladdnings bar fil. Eftersom de här korrigeringarna är kumulativa innehåller alla nya versioner alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med den tidigare versionen av SQL Server 2008 R2.

Symptom

Tänk dig följande situation:

  • Ett program kör en fråga som refererar till vissa tillfälliga tabeller i Microsoft SQL Server 2008 och i Microsoft SQL Server 2008 R2. De tillfälliga tabellerna skapas i en session i stället för i en lagrad procedur.

  • Frågeplan är cachelagrad.

  • Många användare kör samma fråga i en mycket samtidig miljö. Många användare använder till exempel ett program som kör följande fråga:

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

I det här scenariot påträffar prestanda problem.Obs! Mer information om hur du identifierar det här problemet finns i "Mer information".

Orsak

Det här problemet uppstår eftersom samma frågeplan infogas i cachen i samma hash-Bucket för varje användare när frågetexten är samma. När ett stort antal abonnemang är hashkodade med samma Bucket (kallas även för en hash-kedja), ökar tiden för att slå upp en plan i cachen avsevärt och prestanda problemen kan uppstå. Dessutom kan arbets trådar drabbas av allvarlig spinlock-konkurrens och andra trådar påverkas när de här arbets trådarna inte utför rätt schemaläggning.

Lösning

Obs! Endast uppdateringen för SQL Server 2008 R2 är tillgänglig. Information om hur du löser problemet finns i avsnittet "lösning" för SQL Server 2008.

Kumulativ uppdaterings information

SQL Server 2008 R2 Service Pack 1

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 1 för SQL Server 2008 R2 Service Pack 1. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2544793 Kumulativt uppdaterings paket 1 för SQL Server 2008 R2 Service Pack 1Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2567616 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 Service Pack 1 släpptes

SQL Server 2008 R2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 7. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 R2 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2507770 Kumulativt uppdaterings paket 7 för SQL Server 2008 R2 Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

981356 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 släpptes

Status

Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Lösning

Om du vill undvika det här problemet i SQL Server 2008 och i SQL Server 2008 R2 flyttar du alla referenser för tillfälliga tabeller till lagrade procedurer.

Mer information

Mer information om hur du skapar och ändrar grunderna finns på följande MSDN-webbplats:

Så här skapar och ändrar du grundläggande tabell informationSpinlock-innehåll kan identifieras från sys.dm_os_spinlock_stats Dynamic Management View (DMV) som har en hög innehålls avgift på SOS_CACHESTORE spinlock. Du kan identifiera det här problemet genom att köra en fråga som ser ut ungefär så här:

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 descOm följande villkor gäller när du kör den här frågan kan du stöta på prestanda problemen:

  • Den här frågan genererar samma frågetext.

  • Antalet för samma BucketID är stort.Obs! Ett stort antal för samma BucketID är oftast över 1000.

  • Frågor refererar tillfälliga tabeller

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×