OPRAVA: Chyby při spuštění dotazu, který používá klauzuli FOR XML v režimu CESTU v SQL Server 2008 R2 nebo SQL Server 2012

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

Příznaky

Jde o takovouto situaci:
  • Máte klientská aplikace, která spustí dotaz v Microsoft SQL Server 2008 R2 nebo Microsoft SQL Server 2012.
  • Dotaz používá klauzuli FOR XML v režimu CESTU .
  • Spuštění dotazu příkazu SET NO_BROWSETABLE ON NO_BROWSETABLE nastavení povolit.
V tomto případě nelze spustit dotaz. Navíc zobrazí následující chybová zpráva v klientské aplikaci a soubor s minimálním jsou generovány v protokolu chyb SQL.

Msg 0, úroveň 11 stát 0, řádek 0
V aktuálním příkazu došlo k závažné chybě. Výsledky, by měly být zrušeny.
Msg 0, úroveň 20 stát 0, řádek 0
V aktuálním příkazu došlo k závažné chybě. Výsledky, by měly být zrušeny.

Poznámky
  • Není zkompilován plán dotazů, který se používá ke spuštění dotazu.
  • Neexistují žádné události profiler pro neúspěšný dotaz při spuštění profilu serveru SQL Server.
  • Když nastane tento problém, služby SQL Server občas vypne.

Příčina

K tomuto problému dochází z důvodu vnitřní chyby v algebrizer serveru SQL Server. K tomuto problému dochází, pokud SQL Server se pokusí přidat sloupce, které jsou vyžádány z jedné strany uzlu operátor spojení na druhé straně uzlu operátor spojení. Proto strom neplatný algebrizer je vytvořen, protože sloupce definované v jedné straně uzlu operátor spojení nejsou viditelné na druhé straně uzlu operátor spojení.

Řešení

Informace o kumulativní aktualizaci

SQL Server 2012

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 3 pro SQL Server 2012. Další informace o tomto balíčku kumulativní aktualizace klepněte na následující číslo článku databáze Microsoft Knowledge Base:
2723749 kumulativní aktualizace balíčku 3 pro SQL Server 2012
Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2012 verzí oprav. Společnost Microsoft doporučuje zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
2692828 SQL Server 2012 vytvoří, které byly vydány po vydání SQL Server 2012
K instalaci aplikace SQL Server 2012 musí použít opravu hotfix SQL Server 2012.

SQL Server 2008 R2 Service Pack 2

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 1 pro SQL Server 2008 R2 Service Pack 2. Další informace o možnostech získání tohoto balíčku kumulativní aktualizace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
2720425 balíček kumulativní aktualizace 1 pro SQL Server 2008 R2 Service Pack 2
Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2008 R2 release. Doporučujeme zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
2730301 SQL Server 2008 R2 sestavení, které byly vydány po vydání SQL Server 2008 R2 Service Pack 2

Balíček kumulativní aktualizace 7 pro SQL Server 2008 R2 SP1

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 7 pro SQL Server 2008 R2 Service Pack 1. Další informace o tomto balíčku kumulativní aktualizace klepněte na následující číslo článku databáze Microsoft Knowledge Base:
2703282 kumulativní aktualizace 6 pro SQL Server 2008 R2 SP1
Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2008 R2 release. Společnost Microsoft doporučuje zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
2567616 SQL Server 2008 R2 sestavení, které byly vydány po vydání SQL Server 2008 R2 SP1
Microsoft SQL Server 2008 R2 opravy hotfix jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. Opravy hotfix serveru SQL Server 2008 R2 Service Pack 1 musí použít k instalaci aplikace SQL Server 2008 R2 Service Pack 1. Ve výchozím žádné opravy hotfix, která je poskytována v aktualizace service pack serveru SQL Server je součástí další aktualizaci service pack pro SQL Server.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Jak potíže obejít

Chcete-li tento problém vyřešit, použijte jednu z následujících metod.

Metoda 1

Nepoužívejte v režimu CESTU klauzule Pro XML .

Metoda 2

Spusťte následující příkaz Zakázat NO_BROWSETABLE nastavení:

SET NO_BROWSETABLE OFF

Odkazy

Další informace o režimu procházení naleznete na následujícím webu MSDN:Další informace o použití režimu CESTU s klauzulí pro XML naleznete na následujícím webu MSDN:
Vlastnosti

ID článku: 2715312 - Poslední kontrola: 10. 1. 2017 - Revize: 1

Váš názor