Vzťahuje sa na
SQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup

Spoločnosť Microsoft distribuuje opravy balíka Microsoft SQL Server 2008 R2 ako jeden súbor na stiahnutie. Keďže opravy sú kumulatívne, každé nové vydanie obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho vydania opravy SQL Server 2008 R2.

Príznaky

Zvážte nasledujúci scenár:

  • Máte model master data services (MDS) a entitu, ktorá má atribút založený na doméne v microsoft SQL Server 2008 R2. Atribút založený na doméne je navrhnutý tak, aby sa automaticky odvolával na rovnaký atribút.Máte napríklad entitu Zamestnanec, ktorá má atribút ManagerName. Atribút ManagerName odkazuje na tú istú entitu zamestnanca.Poznámka: Manažér je tiež typ zamestnanca.

  • Existuje odvodená hierarchia definovaná v atribúte na zobrazenie rekurzívneho nadradeného alebo podriadeného vzťahu pre atribút založený na doméne.

  • Načítavajú sa hodnoty údajov, ktoré obsahujú jeden alebo viaceré zacyklené odkazy na pracovnú tabuľku MDS. Toto správanie spôsobuje zacyklený odkaz a prvý uzol v atribúte nie je súčasťou kruhu.Nasledujúci vzor údajov napríklad zobrazuje zacyklený odkaz. Hodnota člena Member1 však nie je súčasťou kruhu:

    Member1 --manager attribute--> Member2 --manager attribute--> Member3 --manager attribute--> Member2 --manager attribute--> Member3

    insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
  • Pomocou jednej z nasledujúcich metód načítate hodnoty údajov do entity pomocou procesu náplne MDS:

    • Spustite Exec [mdm]. Postup [udpStagingSweep] pomocou parametrov potrebných na spracovanie fázovaných údajov.

    • Kliknite na položku Správa integrácie a navštívte domovskú stránku webovej lokality MDS. Na stránke Import exportu kliknite v hlavičke sekcie Unbatched Staging Records na ikonu ozubeného kolieska a spracujte záznamy pre konkrétny model a verziu.

V tomto scenári môže proces na pozadí počas procesu inscenácie stretnúť nekonečnú slučku, keď proces na pozadí interne volá [mdm]. [udpMemberRecursiveCircularCheck] procedúra.

Príčina

Tento problém sa vyskytuje, pretože udpStagingSweep a udpStagingMemberAttributeSave procedúry volania udpMemberRecursiveCircularCheck postup jedenkrát pre každý riadok inscenácie. Toto správanie by malo skontrolovať hodnotu atribútu založenú na doméne a vráti chybu, ak pracovný riadok spôsobí cyklický odkaz spolu s existujúcimi údajmi. Po začiarknutí všetkých riadkov sa zobrazia nasledujúce výsledky:

  • Použijú sa pracovné riadky bez chýb.

  • Pracovné riadky s chybami sa zaznamenávajú s kódom chyby.

Ak sú podmienky popísané v časti Príznaky pravdivé, hodnota [mdm]. [udpMemberRecursiveCircularCheck] postup slučky na neurčito, kým buď serverové zdroje sú vyčerpané, alebo time-out nastane.

Riešenie

Informácie o kumulatívnej aktualizácii

SQL Server 2008 R2 Service Pack 1

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 4. Ďalšie informácie o tom, ako získať tento balík kumulatívnej aktualizácie pre SQL Server 2008 R2 SP1, kliknutím na nasledujúce číslo článku zobrazíte článok v databáze Microsoft Knowledge Base:

2633146 Kumulatívna aktualizácia balíka 4 pre SQL Server 2008 R2 Service Pack 1Note Pretože zostavy sú kumulatívne, každé nové vydanie opravy obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli zahrnuté v predchádzajúcom vydaní opravy SQL Server 2008 R2 SP1. Odporúčame, aby ste zvážili použitie najnovšieho vydania opravy, ktoré obsahuje túto rýchlu opravu. Ď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 R2 SQL Server 2008, ktoré boli vydané po vydaní balíka SQL Server 2008 R2 Service Pack 1

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 obísť tento problém, použite jednu z uvedených metód:

  • Ak chcete problému predísť, postupujte takto:

    1. Pred spustením procesu nábehu manuálne skontrolujte hodnoty údajov členov, ktoré sa vkladajú do pracovnej tabuľky.

    2. Uistite sa, že všetky hodnoty členov pre všetky atribúty založené na doméne neobsahujú zacyklené odkazy, ktoré sú popísané v časti Príznaky.

  • Keď sa vyskytne problém popísaný v časti Príznaky, problém opravte pomocou týchto krokov:

    1. Identifikujte reláciu, ktorá je spustená v nekonečnej slučke.

    2. Zabiť relácie zastaviť slučku.

    3. Pred opätovným spracovaním zacykleného odkazu odstráňte hodnoty zacykleného odkazu z pracovnej tabuľky.

Poznámky

  • Ak chcete zistiť, ktoré relácie zabiť, použite jednu z nasledujúcich metód:

    • Používanie monitora aktivity v aplikácii Microsoft SQL Server Management Studio.

    • Vyberte si zo zobrazenia sys.sysprocesses alebo sys.dm_exec_requests zobrazenia dynamickej správy (DMV) a identifikujte relácie, ktoré pracujú v databáze MDS, v ktorej sa procesor a čas rýchlo zvyšuje. Skontrolujte, či aktuálny dotaz spustený v relácii zodpovedá názvom procedúr popísaným v časti Príčina.

  • Ak chcete identifikovať aktuálne spustenú procedúru pre relácie, použite jednu z nasledujúcich metód:

    • Kliknite pravým tlačidlom myši na ponuku Podrobnosti v každom procese v zozname procesov monitorovania aktivity.

    • Použite jeden z nasledujúcich parametrov:

      • Príkaz DBCC INPUTBUFFER (spid) spolu s ID relácie.

      • Funkcia SELECT * FROM sys.dm_exec_sql_text(sqlhandle) spolu so zodpovedajúcim parametrom rukoväte SQL pri použití výstupu DMV.

Odkazy

Ďalšie informácie o tom, ako otvoriť monitor aktivity v aplikácii SQL Server Management Studio, nájdete na nasledujúcej webovej lokalite MSDN:

Otvorenie monitora aktivity v aplikácii SQL Server Management StudioĎalšie informácie o syntaxi KILL nájdete na nasledujúcej webovej lokalite MSDN:

Všeobecné informácie o syntaxi KILLĎalšie informácie o sys.dm_exec_requests DMV nájdete na nasledujúcej webovej lokalite MSDN:

Všeobecné informácie o sys.dm_exec_requests DMVĎalšie informácie o sys.dm_exec_sql_text DMV nájdete na nasledujúcej webovej lokalite MSDN:

Všeobecné informácie o sys.dm_exec_sql_text DMVĎalšie informácie o príkaze DBCC INPUTBUFFER nájdete na nasledujúcej webovej lokalite MSDN:

Všeobecné informácie o príkaze DBCC INPUTBUFFERĎalšie informácie o modeli prírastkovej údržby pre SQL Server zobrazíte kliknutím na číslo nasledujúceho článku v databáze Microsoft Knowledge Base:

935897 Tím SQL Server poskytuje model prírastkovej údržby na poskytovanie rýchlych opráv pre nahlásené problémyĎalšie informácie o schéme pomenovania pre aktualizácie SQL Server zobrazíte kliknutím na číslo nasledujúceho článku v databáze Microsoft Knowledge Base:

822499 Nová schéma pomenovania pre balíky aktualizácií softvéru Microsoft SQL Server Ďalšie informácie o terminológii aktualizácií softvéru získate kliknutím na toto číslo článku a zobrazíte článok v databáze Microsoft Knowledge Base:

824684 Popis štandardnej terminológie, ktorá sa používa na popis aktualizácií softvéru spoločnosti Microsoft

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.