Prihláste sa s kontom Microsoft
Prihláste sa alebo si vytvorte konto.
Dobrý deň,
Vyberte iné konto.
Máte viacero kont
Vyberte konto, s ktorým sa chcete prihlásiť.

Microsoft distribuuje Microsoft SQL Server 2008 R2 opravy ako jeden súbor na stiahnutie. Pretože opravy sú kumulatívne, každé nové vydanie obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli zahrnuté do predchádzajúceho SQL servera 2008 R2 opraviť uvoľnenia.

Príznaky

Zoberme si nasledujúcu situáciu:

  • Aplikácia spustí dotaz, ktorý odkazuje na niektoré dočasné tabuľky v Microsoft SQL Server 2008 a v Microsoft SQL Server 2008 R2. Dočasné tabuľky sa v relácii vytvoria namiesto v uloženej procedúre.

  • Plán dotazu je uložený vo vyrovnávacej pamäti.

  • Viacerí používatelia používajú rovnaký dotaz v prostredí, ktoré je vysoko súčasné. Mnoho používateľov napríklad používa aplikáciu, ktorá spúšťa nasledujúci dotaz:

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

V tomto scenári sa vyskytnú problémy s výkonom aplikácie.Poznámka: Ďalšie informácie o tom, ako identifikovať tento problém, nájdete v časti Ďalšie informácie.

Príčina

Tento problém sa vyskytuje, pretože rovnaký dotaz plány sa vložia do vyrovnávacej pamäte v rovnakom hash vedierko pre každého používateľa, keď je text dotazu rovnaký. Keď sa veľký počet plánov zhoduje s rovnakým segmentom (označuje sa aj ako reťazec hash), čas na vyhľadanie plánu vo vyrovnávacej pamäti sa výrazne zvýši a problémy s výkonom sa môžu vyskytnúť. Okrem toho môžu pracovné vlákna stretnúť s ťažkým spinlock tvrdením a ďalšie vlákna sú ovplyvnené, ak tieto pracovné vlákna nevykonajú správny výnos z plánovača.

Riešenie

Poznámka: Momentálne je k dispozícii iba aktualizácia pre SQL Server 2008 R2. Pre SQL Server 2008 nájdete v časti alternatívne riešenie tento problém obísť.

Kumulatívna aktualizácia informácií

SQL Server 2008 R2 Service Pack 1

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 1 pre SQL Server 2008 R2 Service Pack 1. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

2544793 Kumulatívna aktualizácia balíka 1 pre SQL Server 2008 R2 Service Pack 1Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 R2 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

2567616 Zostavy SQL servera 2008 R2, ktoré boli vydané po vydaní SQL servera 2008 R2 Service Pack 1

SQL Server 2008 R2

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 7. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií pre SQL Server 2008 R2 nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

2507770 Kumulatívna aktualizácia balíka 7 pre SQL Server 2008 R2 Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 R2 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

981356 Zostavy SQL servera 2008 R2, ktoré boli vydané po vydaní SQL servera 2008 R2

Stav

Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.

Alternatívne riešenie

Ak chcete tento problém obísť v aplikácii SQL Server 2008 a SQL Server 2008 R2, premiestnite všetky odkazy na dočasné tabuľky do uložených procedúr.

Ďalšie informácie

Ďalšie informácie o tom, ako vytvoriť a upraviť základy tabuľky, nájdete na nasledujúcej webovej lokalite MSDN:

Vytvorenie a úprava základných informácií o tabuľkáchSpinlock môže byť identifikovaný z sys.dm_os_spinlock_stats dynamického zobrazenia správy (DMV) s vysokou mierou tvrdení na SOS_CACHESTORE spinlock. Ak chcete tento problém identifikovať, spustite dotaz, ktorý sa podobá nasledujúcemu hláseniu:

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 descAk sú pri spustení tohto dotazu splnené nasledovné podmienky, môžu sa vyskytnúť problémy s výkonom:

  • Tento dotaz vygeneruje rovnaký text dotazu.

  • Počet rovnakých bucketid je veľký.Poznámka: Veľký počet rovnakých bucketid je zvyčajne viac ako 1000.

  • Dočasné tabuľky s odkazmi na dotazy

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.

Boli tieto informácie užitočné?

Aká je podľa vás jazyková kvalita textu?
Čo sa vám páčilo, prípadne čo nie?
Stlačením tlačidla Odoslať sa vaše pripomienky použijú na zlepšenie produktov a služieb spoločnosti Microsoft. Váš správca IT bude môcť tieto údaje zhromažďovať. Vyhlásenie o ochrane osobných údajov.

Ďakujeme za vaše pripomienky!

×