FIX: Slow performance vyskytuje v SQL Server 2008 R2 alebo SQL Server 2012 ak zaťažuje Procesor je pozorovaná s tvrdením nad QUERY_EXEC_STATS spinlock

Preklady článku Preklady článku
ID článku: 2662301 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

Microsoft distribuuje Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) alebo Microsoft SQL Server 2012 opravy v jeden súbor na prevzatie. Pretože sú kumulatívne opravy každé nové vydanie obsahuje všetky rýchlych a všetky aktualizácie zabezpečenia, ktoré boli zahrnuté do predchádzajúceho SQL Server 2008 R2 Service Pack 1 (SP1) alebo Microsoft SQL Server 2012 aktualizovať uvoľnenia.

PRIZNAKY

Uvažujme o nasledujúcom prípade:
  • Inštanciu programu Microsoft SQL Server 2008 R2 alebo Microsoft SQL Server 2012 nainštalovať na počítač.
  • Súbežné výpisy, ktoré sa podobať vykonávajú v stupni:
    CREATE PROC p AS RETURN (
    query
    ); EXEC p;
    Prípadne môžete spustiť dotaz, ktorý obsahuje nasledujúci kód:

    IF EXISTS(
    subquery
    );
  • VYU?itie CPU je dôsledne vysokú a pracovných vlákien sú v runnable stave.
  • Tvrdenie o QUERY_EXEC_STATS spinlock je vysoká.
    Napríklad roztočení počítať, možným zrážkam a späť-vypnutie hodnoty pre QUERY_EXEC_STATS spinlock rýchlo zvyšujú.
    Poznámka Ďalšie informácie o tom, ako sledovať QUERY_EXEC_STATS spinlock, nájdete v časti "Ďalšie informácie".

V tomto scenári sa môže vyskytnúť pomalá výkonnosť.

PRICINA

Toto vydanie, pretože dochádza k SQL Server 2008 R2 alebo SQL Server 2012 vytvára a ničí niektorých pamäte štruktúr o globálnu štatistiku namiesto ich ukladanie do vyrovnávacej pamäte. To spôsobuje výkon prekážkou.

RIESENIE

Kumulatívna aktualizácia informácií

Server SQL Server 2012

Oprava tohto problému bol prvýkrát vydaný v kumulatívnej aktualizácii 1 pre SQL Server 2012. Ďalšie informácie o tomto Kumulatívna aktualizácia balíka nájdete po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
2679368 Kumulatívna aktualizácia balíka 1 pre SQL Server 2012
Poznámka Pretože stavia sú kumulatívne, každá nová verzia opraviť obsahuje všetky rýchlych a všetky opravy zabezpečenia, ktoré boli zahrnuté do predchádzajúceho SQL Server 2012 opraviť uvoľnenia. Spoločnosť Microsoft odporúča, aby ste zvážili, uplatňovanie najnovších opraviť uvoľnenie, ktoré túto rýchlu opravu obsahuje. Štvrtá nedeľa v októbri
2692828 SQL Server 2012 stavia, ktoré boli vydané po SQL Server 2012 bola uvoľnená
Musíte použiť SQL Server 2012 rýchla montáž SQL Server 2012.

Kumulatívna aktualizácia balíka 5 pre SQL Server 2008 R2 SP1

Oprava tohto problému bol prvýkrát vydaný v kumulatívnej aktualizácii 5. Ďalšie informácie o tom, ako získať tento Kumulatívna aktualizácia balík SQL Server 2008 R2 SP1 nájdete po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
2659694 Kumulatívna aktualizácia balíka 5 pre SQL Server 2008 R2 SP1
Poznámka Pretože stavia sú kumulatívne, každá nová verzia opraviť obsahuje všetky rýchlych a všetky opravy zabezpečenia, ktoré boli zahrnuté do predchádzajúceho SQL Server 2008 R2 SP1 opraviť uvoľnenia. Odporúčame, aby ste zvážili, uplatňovanie najnovších opraviť uvoľnenie, ktoré túto rýchlu opravu obsahuje. Štvrtá nedeľa v októbri
2567616 SQL Server 2008 R2 stavia, ktoré boli vydané po SQL Server 2008 R2 SP1 bola uvoľnená

DALSIE INFORMACIE

Ak chcete sledovať QUERY_EXEC_STATS spinlock, nastaviť oneskorenie a počet iterácií ako vhodné pre vaše prostredie v nasledujúcom kóde a spustite ho:

SET NOCOUNT ON
CREATE 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 = 1
WHILE @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
      END
SELECT * FROM #spins WHERE [Spinlock Name] = 'QUERY_EXEC_STATS' ORDER BY InsertTime
DROP TABLE #spins

STAV

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti „vzťahuje sa na".

Vlastnosti

ID článku: 2662301 - Posledná kontrola: 12. apríla 2012 - Revízia: 1.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
Kľúčové slová: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2662301 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:2662301

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com