Microsoft distribuuje Microsoft SQL Server 2008 Service Pack 3 opravy ako jeden súbor na stiahnutie. Pretože opravy sú kumulatívne, každé nové vydanie obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 Service Pack 3 opraviť uvoľnenia.
Príznaky
Predpokladajme, že spustíte dotaz, ktorý používa rovnobežnosť v pláne vykonávania dotazu v SQL Server 2008, SQL Server 2008 R2 alebo SQL Server 2012. Plán dotazu spĺňa tieto podmienky:
-
plán vykonávania dotazov obsahuje operátor bitovej mapy a hashové spojenie alebo zlúčenie spojenia.
-
Predikát JOIN alebo zlúčiť spojenie obsahuje porovnanie v stĺpcoch, ktoré môžu mať hodnotu null.
V tomto scenári dotaz vráti nesprávne výsledky.
Príčina
Tento problém sa vyskytuje, pretože hodnota NULL sa zahodí, keď SQL Server používa filtrovanie bitovej mapy v kontrole tabuľky alebo kontrole indexu.
Riešenie
Kumulatívna aktualizácia informácií
Kumulatívna aktualizácia balíka 1 pre SQL Server 2012 Service Pack 1
Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 1. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií pre SQL Server 2012 Service Pack 1 nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
2765331 Kumulatívna aktualizácia balíka 1 pre SQL Server 2012 Service Pack 1Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2012 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:
2772858 Zostavy SQL servera 2012, ktoré boli vydané po vydaní SQL servera 2012 Service Pack 1
SQL Server 2008 R2 Service Pack 2
Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 2 pre SQL Server 2008 R2 Service Pack 2. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
2740411 Kumulatívna aktualizácia balíka 2 pre SQL Server 2008 R2 Service Pack 2Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 R2 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:
2730301 Zostavy SQL servera 2008 R2, ktoré boli vydané po vydaní SQL servera 2008 R2 Service Pack 2
SQL Server 2008 R2 Service Pack 1
Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 8. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií pre SQL Server 2008 R2 Service Pack 1 nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
2723743 Kumulatívna aktualizácia balíka 8 pre SQL Server 2008 R2 SP1Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 R2 Service Pack 1 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:
2567616 Zostavy SQL servera 2008 R2, ktoré boli vydané po vydaní SQL servera 2008 R2 SP1
SQL Server 2012
Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 3 pre SQL Server 2012. Ďalšie informácie o tomto balíku kumulatívnych aktualizácií nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
2723749 Kumulatívna aktualizácia balíka 3 pre SQL Server 2012Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2012 opraviť uvoľnenia. Spoločnosť Microsoft odporúča, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:
2692828 Zostavy SQL servera 2012, ktoré boli vydané po vydaní SQL servera 2012 Ak chcete nainštalovať SQL Server 2012, musíte použiť rýchlu opravu SQL servera 2012.
SQL Server 2008 Service Pack 3
Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 6 pre SQL Server 2008 Service Pack 3. Ďalšie informácie o tomto balíku kumulatívnych aktualizácií nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
2715953 Kumulatívna aktualizácia balíka 6 pre SQL Server 2008 Service Pack 3Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:
2629969 Zostavy SQL servera 2008, ktoré boli vydané po vydaní SQL servera 2008 Service Pack 3 Microsoft SQL Server 2008 rýchlych opráv sú vytvorené pre konkrétne SQL Server Service Pack. Ak chcete nainštalovať SQL Server 2008 Service Pack 3, musíte použiť rýchlu opravu SQL servera 2008 Service Pack 3. Na základe predvoleného nastavenia je každá rýchla oprava, ktorá je k dispozícii v balíku SQL Server Service Pack, zahrnutá v ďalšej službe SQL Server Service Pack.
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.
Alternatívne riešenie
Ak chcete tento problém obísť, Vyhýbajte sa použitiu rovnobežnosti v dotaze použitím jednej z metód:
-
Pridajte možnosť nápovedy k dotazu MAXDOP 1 .
-
Nastavte možnosť maximálneho stupňa rovnobežnosti na 1.
Ďalšie informácie
Ďalšie informácie o paralelných spojeniach hash nájdete na nasledujúcej webovej lokalite blogov na lokalite MSDN:
Všeobecné informácie o paralelných spojeniach hashĎalšie informácie o filtroch bitovej mapy vykonávania dotazov nájdete na nasledujúcej webovej lokalite blogov na lokalite MSDN:
Všeobecné informácie o filtroch bitovej mapy vykonávania dotazu