KB2428310 – FIX: při spuštění složitého dotazu používajícího operátor APPLu v systému SQL Server 2008 R2

Společnost Microsoft distribuuje Microsoft SQL Server 2008 R2 opravy jako jeden soubor ke stažení. Protože jsou opravy kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release.

Příznaky

V Microsoft SQL serveru 2008 R2 se může při spuštění složitého dotazu, který používá operátor Apply , zobrazit nekonzistentní výsledky. Poznámka Správný výsledek v tomto scénáři se zobrazí, pokud v dotazu použijete pomocný Tip pro dotaz na pořadí .

Příčina

K tomuto problému dochází, protože Optimalizátor dotazů vybere pro dotaz nesprávný plán provedení. Optimalizátor dotazů zpracovává predikát Group by pro více sloupců v fyzickém operátoru v plánu provádění. Operátor ale vyprodukuje všechny seskupené sloupce ve výstupním seznamu a neseskupí všechny tyto sloupce. Dotaz proto možná vrátí nesprávný výsledek. Poznámka Příkladem fyzického operátoru je agregační operátor. Optimalizátor dotazu například generuje klauzuli Group by Cola, ColB interně na následující tabulku:

ColA

ColB

0,30

0,30

0,30

0,1

Optimalizátor dotazů smí nesprávně generovat plán provádění, který vrací sloupec Cola i ColB . Tyto sloupce jsou seskupeny podle sloupce Cola v seznamu výstupů. V tomto příkladu může dotaz ve sloupci ColB náhodně vrátit hodnotu 0 nebo 1 , pokud mají hodnoty ve sloupci Colahodnotu 0.

Řešení

Informace o kumulativní aktualizaci

SQL Server 2008 R2

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

2438347 Kumulativní aktualizace 5 pro SQL Server 2008 R2 Pozná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:

981356 Buildy SQL Server 2008 R2 vydaná po vydání SQL serveru 2008 R2

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.

Další informace

Chcete-li ověřit, že se jedná o tento problém, zkontrolujte plán provádění problematického dotazu a pak zaškrtněte políčka skupiny. Podívejte se například na operátor agregace toku, agregační operátor hash, jedinečný operátor řazení a operátor segmentu. Pokud je seznam výstupních sloupců delší než seznam seskupených sloupců, dochází k tomuto problému. 

Odkazy

Další informace o modelu přírůstkové obsluhy pro SQL Server najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

935897 Model přírůstkové obsluhy je dostupný od týmu SQL serveru a poskytuje opravy hotfix pro nahlášené problémy.Další informace o schématu přidělování názvů pro aktualizace systému SQL Server najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

822499Nové schéma přidělování názvů balíčkům aktualizací softwaru pro Microsoft SQL ServerDalší informace o terminologii aktualizací softwaru najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

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é?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×