Spoločnosť Microsoft distribuuje Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) alebo Microsoft SQL Server 2012 opravy v jednom súbore na stiahnutie. Keďže opravy sú kumulatívne, každé nové vydanie obsahuje všetky rýchlych opráv a všetky aktualizácie zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 R2 Service Pack 1 (SP1) alebo Microsoft SQL Server 2012 Update Release.
Príznaky
Zoberme si nasledujúcu situáciu:
-
Inovujete zo servera Microsoft SQL Server 2005 na Microsoft SQL Server 2008 alebo na Microsoft SQL Server 2008 R2 alebo na Microsoft SQL Server 2012.
-
Spustíte dotaz, ktorý používa sp_cursoropen uloženú procedúru, a potom zadajte parameter rowcount na načítanie prvých niekoľkých riadkov tabuľky.
V tomto scenári môže byť výkon pomalší ako pri spustení rovnakého dotazu v SQL Server 2005.
Príčina
Tento problém sa vyskytuje, pretože v rámci nástroja na optimalizáciu dotazov sa namiesto dynamického plánu kurzora používa statický plán kurzora. V prípade statického plánu kurzora SQL Server načíta všetky riadky a vloží ich do pracovnej tabuľky kurzor. Pre dynamický plán kurzora však SQL Server prinesie len tie riadky, ktoré sú potrebné.
Riešenie
Kumulatívna aktualizácia informácií
SQL Server 2012
Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 1 pre SQL Server 2012. Ďalšie informácie o tomto balíku kumulatívnych aktualizácií nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
2679368 Kumulatívna aktualizácia balíka 1 pre SQL Server 2012Pozná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 2012 opraviť uvoľnenia. Spoločnosť Microsoft odporúča, 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:
2692828 Zostavy SQL servera 2012, ktoré boli vydané po vydaní SQL servera 2012 Ak chcete nainštalovať SQL Server 2012, musíte použiť rýchlu opravu SQL servera 2012.
Kumulatívna aktualizácia balíka 5 pre SQL Server 2008 R2 SP1
Po použití tejto rýchlej opravy, povoliť stopových vlajkou 4199. Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 5. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií pre SQL Server 2008 R2 SP1 nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
2659694 Kumulatívna aktualizácia balíka 5 pre SQL Server 2008 R2 SP1Pozná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 SP1 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 SP1
Alternatívne riešenie
Ak chcete tento problém obísť, pridajte do dotazu pomôcku rýchleho dotazu.
Ďalšie informácie
Ďalšie informácie o používaní tipov na vytváranie dotazov nájdete na nasledujúcej webovej lokalite MSDN:
Všeobecné informácie o používaní tipov na vytváranie dotazovĎalšie informácie o príznakoch sledovania 4199, navštívte nasledujúcu webovú lokalitu:
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.