KB2662301 - Ispravka: Spore performanse se javljaju u SQL Server 2008 R2 ili SQL Server 2012 ako se primeti visoka upotreba CPU-a sa sporom oko QUERY_EXEC_STATS spinlock-a

Microsoft distribuira ispravke za Microsoft SQL Server 2008 R2 servisni paket 1 (SP1) ili Microsoft SQL Server 2012 u jednoj datoteci koja se može preuzeti. Pošto su ispravke kumulativne, svako novo izdanje sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodno izdanje sql Server 2008 R2 servisnog paketa 1 (SP1) ili Microsoft SQL Server 2012.

Simptomi

Razmotrite sledeći scenario:

  • Na računar instalirate instancu sistema Microsoft SQL Server 2008 R2 ili Microsoft SQL Server 2012.

  • Uporedne izjave koje liče na sledeće izvršavaju se u instanci:

    CREATE PROC p AS RETURN (
    query
    ); EXEC p;

    Ili pokrenete upit koji sadrži sledeći kôd:

    IF EXISTS(
    subquery
    );
  • Upotreba CPU-a je konstantno visoka, a radne niti su u stanju koje se može pokrenuti.

  • Spor za QUERY_EXEC_STATS je veliki. Na primer, broj okretanja, mogući sudari i rezervne vrednosti za QUERY_EXEC_STATS brzo povećavaju.Napomena Više informacija o nadgledanje QUERY_EXEC_STATS okretanja potražite u odeljku "Više informacija".

U ovom scenariju može doći do sporih performansi.

Uzrok

Do ovog problema dolazi zato što sql Server 2008 R2 ili SQL Server 2012 kreira i uništava neke strukture memorije o globalnoj statistici umesto da ih kešira. Ovo uzrokuje usko grlo performansi.

Rešenje

Kumulativne informacije o ažuriranju

SQL Server 2012

Ispravka za ovaj problem je prvi put objavljena u kumulativnoj ispravci 1 za SQL Server 2012. Za više informacija o ovom paketu kumulativnih ispravki kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:

2679368 Kumulativni paket ispravki 1 za SQL Server 2012Napomena Pošto su verzije kumulativne, svako novo izdanje ispravke sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodno izdanje ispravki za SQL Server 2012. Microsoft preporučuje da razmislite o primeni najnovijeg izdanja ispravke koje sadrži ovu hitnu ispravku. Za više informacija kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:

2692828 SQL Server 2012 builds koji su objavljeni nakon što je SQL Server 2012 objavljen Morate primeniti hitnu ispravku za SQL Server 2012 na instalaciju sistema SQL Server 2012.

Kumulativni paket ispravki 5 za SQL Server 2008 R2 SP1

Ispravka za ovaj problem je prvi put objavljena u kumulativnoj ispravci 5. Za više informacija o nabavljanju ovog paketa kumulativnih ispravki za SQL Server 2008 R2 SP1 kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:

2659694 Kumulativni paket ispravki 5 za SQL Server 2008 R2 SP1Napomena Pošto su verzije kumulativne, svako novo izdanje ispravke sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodno izdanje ispravke za SQL Server 2008 R2 SP1. Preporučujemo da razmislite o primeni najnovijeg izdanja ispravke koje sadrži ovu hitnu ispravku. Za više informacija kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:

2567616 SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 SP1 was released

Više informacija

Da biste pratili QUERY_EXEC_STATS, podesite kašnjenje i broj iteracija kako dolikuje vašem okruženju u sledećem kodu, a zatim ga pokrenite:

SET NOCOUNT ONCREATE TABLE #spins([Spinlock Name] varchar(50),Collisions numeric,Spins numeric,[Spins/Collision] float,[Sleep Time (ms)] numeric,Backoffs numeric, InsertTime datetime DEFAULT GETDATE())DECLARE @counter int = 1WHILE @counter < 10      BEGIN            INSERT INTO #spins ([Spinlock Name], Collisions, Spins, [Spins/Collision], [Sleep Time (ms)], Backoffs) EXECUTE ('DBCC SQLPERF (''SPINLOCKSTATS'') WITH NO_INFOMSGS')            WAITFOR DELAY '00:00:05'            SET @counter +=1      ENDSELECT * FROM #spins WHERE [Spinlock Name] = 'QUERY_EXEC_STATS' ORDER BY InsertTimeDROP TABLE #spins

Status

Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".

Potrebna vam je dodatna pomoć?

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Microsoft insajdere

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom prevoda?

Šta je uticalo na vaše iskustvo?

Imate li dodatne povratne informacije? (Opcionalno)

Hvala vam na povratnim informacijama!

×