Microsoft raspoređuje Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) ili Microsoft SQL Server 2012 ispravke u jednoj datoteci za preuzimanje. Budući da su popravci kumulativni, svako novo izdanje sadrži sve hitne popravke i sva bezbednosna ažuriranja koja su bila uključena u prethodnu verziju sustava SQL Server 2008 R2 Service Pack 1 (SP1) ili Microsoft SQL Server 2012 Update Edition.
Simptomi
Razmotrite sljedeći scenarij:
-
Na računalu instalirate instancu sustava Microsoft SQL Server 2008 R2 ili Microsoft SQL Server 2012.
-
Istodobne izjave koje nalikuju sljedećim izvršavaju se u instanci:
CREATE PROC p AS RETURN (
query
); EXEC p;
Ili možete pokrenuti upit koji sadrži sljedeći kod:
IF EXISTS(
subquery
);
-
Potrošnja CPU-a dosljedno je visoka, a radne se teme nalaze u stanju runnable.
-
Tvrdnja za QUERY_EXEC_STATS Spinlock je visoka. Primjerice, okretni broj, mogući sudari i vrijednosti za QUERY_EXEC_STATS Spinlock brzo se povećavaju.Napomena Dodatne informacije o praćenju QUERY_EXEC_STATS Spinlock potražite u odjeljku "Dodatne informacije".
U ovom scenariju može doći do spore performanse.
Uzrok
Taj problem jer se pojavljuje SQL Server 2008 R2 ili SQL Server 2012 stvara i uništava neke memorijske strukture o globalnoj statistici umjesto da ih predmemoriraju. Time se uzrokuje usko grlo performansi.
Rješenje
Kumulativne informacije o ažuriranju
SQL Server 2012
Popravak tog problema prvi je put izdan u kumulativnom ažuriranju 1 za SQL Server 2012. Dodatne informacije o tom zbirnim paketom za ažuriranje potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:
2679368 Kumulativno ažuriranje paketa 1 za SQL Server 2012Napomena Budući da su grade kumulativne, svako novo izdanje ispravaka sadrži sve hitne popravke i sve sigurnosne popravke koji su bili obuhvaćeni prethodnim izdanjima sustava SQL Server 2012 Fix. Microsoft preporučuje da razmotrite primjenu najnovijeg izdanja popravka koja sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:
2692828 Verzije sustava SQL Server 2012 koje su objavljene nakon objavljivanja sustava SQL Server 2012 Hitni popravak sustava SQL Server 2012 morate primijeniti na instalaciju sustava SQL Server 2012.
Kumulativno ažuriranje paketa 5 za SQL Server 2008 R2 SP1
Popravak tog problema prvi je put izdan u kumulativnom ažuriranju 5. Dodatne informacije o dobivanju tog kumulativnog paketa za ažuriranje za SQL Server 2008 R2 SP1 potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:
2659694 Kumulativno ažuriranje paketa 5 za SQL Server 2008 R2 SP1Napomena Budući da su grade kumulativne, svako novo izdanje ispravaka sadrži sve hitne popravke i sve sigurnosne popravke koji su bili obuhvaćeni prethodnim izdanjima sustava SQL Server 2008 R2 SP1 za otklanjanje poteškoća. Preporučujemo da razmotrite primjenu najnovijeg izdanja popravka koja sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:
2567616 Verzije sustava SQL Server 2008 R2 koje su objavljene nakon objavljivanja sustava SQL Server 2008 R2 SP1
Dodatne informacije
Da biste pratili QUERY_EXEC_STATS Spinlock, prilagodite kašnjenje i broj iteracija kao što je prikladno za okruženje u sljedeć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 se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".