Společnost Microsoft distribuuje aktualizace Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) v jednom souboru ke stažení. Protože jsou opravy kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny aktualizace zabezpečení, které byly součástí předchozí verze aktualizace SQL Server 2008 R2 Service Pack 1 (SP1).

Příznaky

Zvažte následující scénář:

  • Máte klientskou aplikaci, která spouští dotaz v Microsoft SQL serveru 2008 R2 nebo Microsoft SQL serveru 2012.

  • Dotaz používá klauzuli for XML v režimu cesty .

  • Dotaz spustí příkaz SET NO_BROWSETABLE on pro povolení nastavení NO_BROWSETABLE .

V tomto scénáři se dotaz nespustí. Navíc se v klientské aplikaci zobrazí následující chybová zpráva a v protokolu chyb SQL se vygeneruje soubor Minidump.

Msg 0, úroveň 11, státní 0A, došlo k závažné chybě v aktuálním příkazu. Případné výsledky se zahodí. Msg 0, úroveň 20, státní 0A, došlo k závažné chybě v aktuálním příkazu. Případné výsledky se zahodí.

Poznámky:

  • Plán dotazů, který se používá ke spuštění dotazu, není kompilovaný.

  • Při spuštění profilu systému SQL Server nejsou k dispozici žádné události profileru pro neúspěšný dotaz.

  • Když dojde k tomuto problému, služba SQL serveru se vypne občas.

Příčina

K tomuto problému dochází z důvodu interní chyby v SQL serveru algebrizer. K tomuto problému dochází, když se SQL Server pokouší přidat sloupce, které jsou načítány z jedné strany uzlu operátoru JOIN, na druhou stranu uzlu operátoru JOIN. Proto se vytvoří neplatný strom algebrizer, protože sloupce definované na jedné straně uzlu operátoru JOIN nejsou viditelné na druhé straně uzlu operátoru JOIN.

Řešení

Informace o kumulativní aktualizaci

SQL Server 2012

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 3 pro SQL Server 2012. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

2723749 Kumulativní balíček aktualizací 3 pro SQL Server 2012Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2012 Oprava. Společnost Microsoft doporučuje zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

2692828 Buildy SQL Server 2012, které byly vydány po vydání SQL Server 2012 Na instalaci SQL serveru 2012 musíte použít opravu hotfix systému SQL Server 2012.

SQL Server 2008 R2 Service Pack 2

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 1 pro SQL Server 2008 R2 Service Pack 2. Další informace o tom, jak získat tento kumulativní balíček aktualizací, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

2720425 Kumulativní aktualizace 1 pro SQL Server 2008 R2 Service Pack 2Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

2730301 Sestavení SQL Server 2008 R2, která byla vydána po SQL serveru 2008 R2 Service Pack 2, byla vydána

Kumulativní balíček aktualizací 7 pro SQL Server 2008 R2 SP1

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 7 pro SQL Server 2008 R2 Service Pack 1. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

2703282 Kumulativní balíček aktualizací 6 pro SQL Server 2008 R2 SP1Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release. Společnost Microsoft doporučuje zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

2567616 Buildy SQL Server 2008 R2 vydaná po vydání SQL serveru 2008 R2 SP1 Opravy hotfix pro Microsoft SQL Server 2008 R2 se vytvářejí pro určité aktualizace Service Pack systému SQL Server. Opravu hotfix systému SQL Server 2008 R2 Service Pack 1 musíte nainstalovat na instalaci serveru SQL Server 2008 R2 Service Pack 1. Ve výchozím nastavení je každá oprava hotfix, která je součástí aktualizace Service Pack systému SQL Server, součástí další aktualizace Service Pack systému SQL Server.

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Řešení

Tento problém vyřešíte pomocí jedné z následujících metod.

Metoda 1

V režimu path nepoužívejte klauzuli for XML .

Metoda 2

Nastavení NO_BROWSETABLE zakážete spuštěním následujícího příkazu:

NASTAVENÍ NO_BROWSETABLE VYPNUTO

Odkazy

Další informace o režimu procházení najdete na následujícím webu MSDN:

Obecné informace o režimu procházeníDalší informace o použití režimu cesty s klauzulí FOR XML najdete na následujícím webu MSDN:

Použití režimu cesty s klauzulí FOR XML

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×