FIX: Nesprávne výsledky alebo porušenie obmedzenia pri spustení vyberte alebo DML vyhlásenie, ktorý používa funkciu row_number a paralelného vykonávania plánu v SQL Server 2008

DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:2589980

Microsoft distribuuje Microsoft SQL Server 2008 opravy ako jeden súbor na prevzatie. Pretože opravy sú kumulatívne, každé nové vydanie obsahuje všetky rýchlych a všetky opravy zabezpečenia, ktoré boli zahrnuté do predchádzajúceho SQL Server 2008 opraviť uvoľnenia.
PRIZNAKY
Uvažujme o nasledujúcom prípade:
  • Môžete spustiť paralelné dotaz, ktorý používa row_number Funkcia v spoločnosti Microsoft SQL Server 2008.
  • Pokúsite spustiť dotaz pomocou poddotaz, ktorý sa nachádza vo vnútri VYBERTE vyhlásenie alebo potvrdenie údajov Manipulation Language (DML).
V tomto scenári, narazíte na jeden z nasledujúcich problémov:
  • Zobrazí nesprávne výsledky, ak spustíte dotaz vo vnútriVYBERTE vyhlásenie niekoľkokrát.
  • Tabuľka môže obsahovať nesprávne údaje, ak dotaz spúšťa vnútri DML vyhlásenie. Ak tabuľka obsahuje obmedzenia, vyhlásenie môže zlyhať s porušenie obmedzenia.

    Napríklad, VLOŽIŤ vyhlásenie môže zlyhať a porušenie primárneho kľúča chyba sa vyskytuje, ak tabuľka obsahuje primárny kľúč.


Poznámka Tieto otázky sa môže vyskytnúť v jednej z nasledujúcich situácií:
  • Môžete nastaviť MAXDOP Tip možnosti dotaz na hodnotu, ktorá je väčšia ako 2.
  • Môžete nastaviť Max stupeň rovnobežnosti možnosť na hodnotu, ktorá je väčšia ako 2 v konfigurácii servera.

RIESENIE
Chcete vyriešiť tento problém, Získajte najnovší balík service pack pre SQL Server 2008. Ďalšie informácie nájdete po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:

968382 Ako získať najnovší balík service pack pre SQL Server 2008
RIEŠENIE
Tento problém obísť, použite jednu z nasledujúcich metód:
  • Povoliť 4134 stopových vlajkou, ak ste použili, jeden z nasledovných aktualizácií:
    • Kumulatívna aktualizácia balíka 6 pre SQL Server 2008 alebo neskôr Kumulatívna aktualizácia balík pre SQL Server 2008
    • Kumulatívna aktualizácia balíka 2 pre SQL Server 2008 Service Pack 1 (SP1) alebo neskôr Kumulatívna aktualizácia balík pre SQL Server 2008 SP1


    Ďalšie informácie o zapnutí sledovania vlajky, navštívte nasledujúce webovej lokalite MSDN:
  • Odkaz sekcii "Riešenie" v článku databázy Microsoft Knowledge Base 970198.

    Ďalšie informácie nájdete po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
    970198 FIX: Zobrazí nesprávneho výsledku pri spustení dotazu, ktorý používa funkciu row_number v SQL Server 2008

Upozornenie: Tento článok bol preložený automaticky.

Vlastnosti

ID článku: 2589980 – Posledná kontrola: 08/22/2011 23:06:00 – Revízia: 1.0

Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Enterprise Evaluation, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2008 Service Pack 1, Microsoft SQL Server 2008 Service Pack 2, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Standard Edition for Small Business, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup

  • kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2589980 KbMtsk
Pripomienky