Příznaky
Předpokládejme, že spustíte dotaz, který obsahuje operátor Union , pomocí paralelního plánu dotazů v Microsoft SQL serveru 2008 R2, SQL serveru 2012 nebo sql Server 2014. Agregační operátor Stream může způsobit duplicitní řádky, když jsou splněné následující podmínky:
-
Dotaz používá konstantu nebo sloupec s pevnou hodnotou (například implikovaná z predikátu jako sloupec = <konstantní> , když je vybraný sloupec).
-
SQL Server používá plán provádění paralelního dotazu, který zahrnuje agregační operátor agregace, který agreguje konstantu nebo pevnou hodnotu (Tento datový agregační operátor je možné zavést v dotazech, které obsahují operátor Union , aby byl vytvořen jedinečný výstup).
Řešení
SQL Server 2012
Pokud chcete tento problém vyřešit v systému SQL Server 2012, použijte SQL Server 2012 Service Pack 2. Další informace o chybách opravených v aktualizaci SQL Server 2012 SP2 najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2958429 Chyby opravené v aktualizaci SQL Server 2012 Service Pack 2 Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru.
Kumulativní aktualizace 13 pro SQL Server 2008 R2 SP2 /en-us/help/2967540
Kumulativní aktualizace 2 pro SQL Server 2014 /en-us/help/2967546
Kumulativní aktualizace 10 pro SQL Server 2012 SP1 /en-us/help/2954099
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:
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.