Applies ToSQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Microsoft разпространява Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) или Microsoft SQL Server 2012 поправя в един файл за изтегляне. Тъй като корекциите са кумулативни, всяка нова версия съдържа всички поправки и всички актуализации на защитата, които са били включени в предишния SQL Server 2008 R2 Service Pack 1 (SP1) или Microsoft SQL Server 2012 Update Release.

Симптоми

Обмислете следния сценарий:

  • Можете да инсталирате екземпляр на Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2012 на компютър.

  • Едновременни изявления, които наподобяват следните, се изпълняват в екземпляра:

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

    Или изпълните заявка, която съдържа следния код:

    IF EXISTS(
    subquery
    );
  • Използването на ПРОЦЕСОРА е последователно високо и работните нишки се намират в изпълнима състояние.

  • Твърдението за QUERY_EXEC_STATS spinlock е високо. Например броячът, възможните сблъсквания и отстъпите стойности за QUERY_EXEC_STATS spinlock се увеличават бързо.Забележка За повече информация как да следите QUERY_EXEC_STATS spinlock, вижте раздела "повече информация".

При този сценарий може да възникне ниска производителност.

Причина

Този проблем, защото възниква SQL Server 2008 R2 или SQL Server 2012 създава и унищожава някои структури от паметта за глобалните статистически данни, вместо да ги кешира. Това води до недостатъчна производителност.

Решение

Информация за сборна актуализация

SQL Server 2012

Корекцията за този проблем е издадена за първи път в сборна актуализация 1 за SQL Server 2012. За повече информация относно този пакет с кумулативна актуализация щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:

2679368 Кумулативна актуализация на пакета 1 за SQL Server 2012Забележка Тъй като компилациите са кумулативни, всяко ново издание за корекция съдържа всички актуални корекции и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2012 Fix. Microsoft препоръчва да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2692828 SQL Server 2012 компилации, които са издадени след издаването на SQL Server 2012 Трябва да приложите актуална корекция за SQL Server 2012 към инсталация на SQL Server 2012.

Кумулативна актуализация на пакета 5 за SQL Server 2008 R2 SP1

Корекцията за този проблем е издадена за първи път в сборна актуализация 5. За повече информация как да получите тази кумулативна актуализация на пакета за SQL Server 2008 R2 SP1, щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:

2659694 Кумулативна актуализация на пакета 5 за SQL Server 2008 R2 SP1Забележка Тъй като компилациите са кумулативни, всяко ново издание за корекция съдържа всички актуални корекции и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2008 R2 SP1. Препоръчваме ви да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2567616 SQL Server 2008 R2, които са издадени след издаването на SQL Server 2008 R2 SP1

Повече информация

За да следите QUERY_EXEC_STATS spinlock, настройте закъснението и броя на повторенията по подходящ начин за вашата среда в следния код и след това го стартирайте:

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

Състоянието

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.