Spoločnosť Microsoft distribuuje Microsoft SQL Server 2008 alebo 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 alebo SQL Server 2008 R2 opraviť uvoľnenia.
Príznaky
Predpokladajme, že máte pomenovanú inštanciu v Microsoft SQL Server 2008 alebo Microsoft SQL Server 2008 R2 nainštalovaný na serveri. Keď spustíte dotaz bežného výrazu (CTE), ktorý používa funkciu FREETEXTTABLE alebo nich riadky v indexovanom zobrazení, dotaz CTE zlyhá a vyskytne sa výnimka porušenia prístupu. Zobrazí sa tiež nasledujúce chybové hlásenie:
MSG 0, úroveň 11, stav 0, položka 0, v aktuálnom príkaze sa vyskytla závažná chyba. Prípadné výsledky by mali byť zahodené.
Výnimka pri narušení prístupu sa napríklad vyskytuje pri spustení nasledujúceho kódu:
WITH CTE AS (select [Key] as Key, [Rank] from FREETEXTTABLE(< indexed view name >, *, '< search string >')) SELECT * FROM CTE
Riešenie
Kumulatívna aktualizácia informácií
SQL Server 2008 Service Pack 2
Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 4 pre SQL Server 2008 Service Pack 2. Ď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:
2527180 Kumulatívna aktualizácia balíka 4 pre SQL Server 2008 Service Pack 2Pozná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 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:
2402659 Zostavy SQL servera 2008, ktoré boli vydané po vydaní SQL servera 2008 Service Pack 2 Microsoft SQL Server 2008 rýchlych opráv sú vytvorené pre konkrétne SQL Server Service Pack. Ak chcete nainštalovať SQL Server 2008 Service Pack 2, musíte použiť rýchlu opravu SQL servera 2008 Service Pack 2. Na základe predvoleného nastavenia je každá rýchla oprava, ktorá je k dispozícii v balíku SQL Server Service Pack, zahrnutá v ďalšej službe SQL Server Service Pack.
SQL Server 2008 R2
Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 4. Ď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:
2345451 Kumulatívna aktualizácia balíka 4 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
Alternatívne riešenie
Ak chcete obísť tento problém, použite jednu z uvedených metód:
-
Použite zobrazenie, dočasnú tabuľku alebo premennú tabuľky namiesto CTE na ukladanie priebežných výsledkov.
-
Aktualizujte dotaz na použitie odvodenej tabuľky alebo poddotazu. Tým sa eliminuje nutnosť používania CTE.
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.
Odkazy
Ďalšie informácie o používaní bežných výrazov tabuľky nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:
Používanie bežných výrazov tabuľkyĎalšie informácie o funkcii FREETEXTTABLE (TRANSACT-SQL) nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:
FREETEXTTABLE (Transact-SQL)Ďalšie informácie o funkcii nich riadky (TRANSACT-SQL) nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:
NICH riadky (Transact-SQL)Ďalšie informácie o tom, ako vytvoriť indexované zobrazenia, navštívte nasledujúcu webovú lokalitu spoločnosti Microsoft:
Vytvorenie indexovaných zobrazeníĎalšie informácie o modeli prírastkového servisu pre SQL Server nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
935897 Prírastkové servisné model je k dispozícii v tíme SQL Server na poskytovanie rýchlych opráv pre ohlásené problémyĎalšie informácie o schéme pomenovania pre aktualizácie SQL servera nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
822499Nová schéma pomenovania pre balíky aktualizácií softvéru servera Microsoft SQL ServerĎalšie informácie o terminológii aktualizácie softvéru nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
824684 Popis štandardnej terminológie, ktorá sa používa na popis aktualizácií softvéru od spoločnosti Microsoft