KB2715312-FIX: chyby pri spustení dotazu, ktorý používa klauzulu pre XML v režime PATH v SQL Server 2008 R2 alebo SQL Server 2012

Spoločnosť Microsoft distribuuje opravy balíka Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) 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 vydania aktualizácie SQL Server 2008 R2 Service Pack 1 (SP1).

Príznaky

Zoberme si nasledujúcu situáciu:

  • Máte klientsku aplikáciu, ktorá spúšťa dotaz v Microsoft SQL Server 2008 R2 alebo Microsoft SQL Server 2012.

  • Dotaz používa klauzulu pre XML v režime Path .

  • Ak chcete povoliť nastavenie NO_BROWSETABLE , dotaz spustí príkaz set NO_BROWSETABLE .

V tomto scenári sa dotaz nespustí. Okrem toho sa zobrazí nasledujúce chybové hlásenie na klientsku aplikáciu a minivýpisu súbor je generovaný v denníku chýb SQL.

MSG 0, úroveň 11, stav 0, 0A v aktuálnom príkaze sa vyskytla závažná chyba. Prípadné výsledky by mali byť zahodené. MSG 0, úroveň 20, stav 0, 0A v aktuálnom príkaze sa vyskytla závažná chyba. Prípadné výsledky by mali byť zahodené.

Poznámky:

  • Plán dotazu, ktorý sa používa na spustenie dotazu, nie je zostavený.

  • Pri spustení profilu SQL servera nie sú žiadne udalosti profiler pre zlyhal dotaz.

  • Pri výskyte tohto problému sa služba SQL Server občas vypne.

Príčina

Tento problém sa vyskytuje z dôvodu interného zlyhania v SQL Server algebrizer. Tento problém sa vyskytuje, keď SQL Server sa pokúsi pridať stĺpce, ktoré sa vytiahnu z jednej strany uzla spojenia operátora na druhú stranu uzla operátora spojenia. Preto sa vytvorí neplatný algebrizer strom, pretože stĺpce definované na jednej strane uzla operátora JOIN sa nezobrazujú na druhej strane uzla operátora join.

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 3 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:

2723749 Kumulatívna aktualizácia balíka 3 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.

SQL Server 2008 R2 Service Pack 2

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 1 pre SQL Server 2008 R2 Service Pack 2. Ď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:

2720425 Kumulatívna aktualizácia balíka 1 pre SQL Server 2008 R2 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 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:

2730301 Zostavy SQL servera 2008 R2, ktoré boli vydané po vydaní SQL servera 2008 R2 Service Pack 2

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

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 7 pre SQL Server 2008 R2 Service Pack 1. Ď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:

2703282 Kumulatívna aktualizácia balíka 6 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 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:

2567616 Zostavy SQL servera 2008 R2, ktoré boli vydané po vydaní SQL servera 2008 R2 SP1 Rýchle opravy Microsoft SQL Server 2008 R2 sa vytvoria pre konkrétne balíky Service Pack pre SQL Server. Ak chcete nainštalovať SQL Server 2008 R2 Service Pack 1, musíte použiť rýchlu opravu balíka SQL Server 2008 R2 Service Pack 1. 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.

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 obísť tento problém, použite jeden z nasledujúcich postupov.

Metóda 1

Nepoužívajte klauzulu pre XML v režime Path .

Metóda 2

Ak chcete vypnúť nastavenie NO_BROWSETABLE , spustite nasledujúci príkaz:

NASTAVENIE NO_BROWSETABLE

Odkazy

Ďalšie informácie o režime prehľadávania nájdete na nasledujúcej webovej lokalite MSDN:

Všeobecné informácie o režime prehľadávaniaĎalšie informácie o používaní režimu PATH s klauzulou pre XML nájdete na nasledujúcej webovej lokalite MSDN:

Používanie režimu PATH s klauzulou FOR XML

Potrebujete ďalšiu pomoc?

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pripojiť k Microsoft insiderov chcú

Považujete poskytnuté informácie za užitočné?

Ďakujem za vaše pripomienky!

×