Príznaky
Predpokladajme, že spustíte dotaz, ktorý obsahuje operátor Union pomocou plánu paralelných dotazov v Microsoft sql Server 2008 R2, sql Server 2012 alebo sql Server 2014. Celkový operátor prúdu môže vytvoriť duplicitné riadky, ak sú splnené tieto podmienky:
-
Dotaz používa konštantu alebo stĺpec s fixnou hodnotou (napríklad implikovaný z predikátu ako stĺpec = <konštantnej> pri vybratom stĺpci).
-
SQL Server používa plán vykonávania paralelných dotazov, ktorý obsahuje súhrnný operátor prúdu, ktorý agregáty na konštantnej alebo pevnej hodnote (tento prúdový agregát môže byť predstavený v dotazoch, ktoré obsahujú operátor Union s cieľom vytvoriť samostatný výstup).
Riešenie
SQL Server 2012
Ak chcete tento problém vyriešiť, použite SQL Server 2012 Service Pack 2 pre SQL Server 2012. Ďalšie informácie o chybách opravených v programe SQL Server 2012 SP2 nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
2958429 Chyby, ktoré boli odstránené v balíku SQL Server 2012 Service Pack 2 Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera.
Kumulatívna aktualizácia 13 pre SQL Server 2008 R2 SP2 /en-us/help/2967540
Kumulatívna aktualizácia 2 pre SQL Server 2014 /en-us/help/2967546
Kumulatívna aktualizácia balíka 10 pre SQL Server 2012 SP1 /en-us/help/2954099
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.