KB2727322 – OPRAVA: Při spuštění dotazu, který používá paralelismus, jsou vráceny nesprávné výsledky v plánu provádění dotazu v SQL Server 2008, SQL Server 2008 R2 nebo SQL Server 2012

Platí pro
SQL Server 2008 Service Pack 3 SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Web SQL Server 2008 Standard Edition for Small Business SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Enterprise Core SQL Server 2012 Web SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Web

Microsoft distribuuje opravy Microsoft SQL Server 2008 Service Pack 3 jako jeden soubor ke stažení. Vzhledem k tomu, že opravy jsou kumulativní, obsahuje každá nová verze všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí verze opravy pro SQL Server 2008 Service Pack 3.

Příznaky

Předpokládejme, že spustíte dotaz, který používá paralelismus v plánu provádění dotazů v systému SQL Server 2008, SQL Server 2008 R2 nebo SQL Server 2012. Plán dotazu splňuje tyto podmínky:

  • Plán provedení dotazu obsahuje rastrový operátor a spojení hash nebo sloučení.
  • Predikát spojení hash nebo sloučení spojení obsahuje srovnání IS se sloupci, které mohou mít hodnotu NULL.

V tomto scénáři vrátí dotaz nesprávné výsledky.

Příčina

K tomuto problému dochází, protože hodnota NULL se zahodí, když SQL Server použije filtrování obrázků při kontrole tabulky nebo indexu.

Řešení

Informace o kumulativní aktualizaci

Balíček kumulativní aktualizace 1 pro SQL Server 2012 Service Pack 1

Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 1. Další informace o získání tohoto balíčku kumulativní aktualizace pro SQL Server 2012 Service Pack 1 naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

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

2772858 Buildy SQL Server 2012 vydané po vydání aktualizace Service Pack 1 SQL Server 2012

SQL Server 2008 R2 Service Pack 2

Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 2 pro SQL Server 2008 R2 Service Pack 2. Další informace o získání tohoto balíčku kumulativní aktualizace naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

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

2730301 Buildy SQL Server 2008 R2, které byly vydány po vydání aktualizace Service Pack 2 SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1

Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 8. Další informace o získání tohoto balíčku kumulativní aktualizace pro SQL Server 2008 R2 Service Pack 1 naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

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

2567616 Buildy SQL Server 2008 R2, které byly vydány po vydání aktualizace SP1 SQL Server 2008 R2

SQL Server 2012

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

2723749 Balíček kumulativní aktualizace 3 pro SQL Server 2012Poznámka: Buildy jsou kumulativní, a proto každá nová verze opravy obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí verze opravy pro SQL Server 2012. Společnost Microsoft doporučuje zvážit použití nejnovější verze opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

2692828 Buildy SQL Server 2012 vydané po vydání SQL Server 2012 Opravu hotfix pro SQL Server 2012 musíte použít u instalace SQL Server 2012.

SQL Server 2008 Service Pack 3

Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 6 pro SQL Server 2008 Service Pack 3. Další informace o tomto balíčku kumulativních aktualizací naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

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

2629969 Buildy SQL Server 2008 vydané po vydání aktualizace Service Pack 3 SQL Server 2008 Opravy hotfix pro Microsoft SQL Server 2008 se vytvářejí pro konkrétní SQL Server aktualizace Service Pack. Opravu hotfix pro SQL Server 2008 Service Pack 3 je nutné nainstalovat pro instalaci systému SQL Server 2008 Service Pack 3. Ve výchozím nastavení jsou všechny opravy hotfix poskytované v aktualizaci Service Pack pro SQL Server zahrnuty do další aktualizace Service Pack pro SQL Server.

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Alternativní řešení

Pokud chcete tento problém obejít, vyhněte se použití paralelismu v dotazu použitím jedné z metod:

  • Přidejte možnost nápovědy k dotazu MAXDOP 1.
  • Nastavte možnost Maximální stupeň rovnoběžnosti na 1.

Další informace

Další informace o paralelních spojeních hash naleznete na následujícím webu MSDN Blogs:

Obecné informace o paralelních spojeních hash Další informace o rastrových filtrech pro spuštění dotazu naleznete na následujícím webu MSDN Blogs:

Obecné informace o filtrech rastrových obrázků pro spuštění dotazu