KB2628712-FIX: begalinis ciklas atsiranda hierarchijoje, kurioje yra ciklinis ryšys "SQL Server 2008 R2"

"Microsoft" platina "Microsoft SQL Server 2008 R2" pataisymus kaip vieną atsisiunčiamą failą. Kadangi pataisymai yra kumuliatyviniai, kiekviename naujame leidime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio SQL serverio 2008 R2 pataisų leidimo.

Simptomai

Apsvarstykite šį scenarijų:

  • Turite pagrindinį duomenų tarnybų (DTS) modelį ir objektą, kuriame yra domenui priklausantis atributas "Microsoft SQL Server" 2008 R2. Domeno pagrįstas atributas skirtas patiems priskirti tą patį atributą. Pavyzdžiui, turite darbuotojo objektą, kuriame yra atributas Managername . Atributas Managername reiškia tą patį darbuotojų subjektą.Pastaba Vadybininkas taip pat yra darbuotojas.

  • Yra išvestinė hierarchija, kuri apibrėžiama atributo, rodančio, kad rekursinis pirminis/antrinis ryšys yra domeno pagrįstas atributas.

  • Galite įkelti duomenų reikšmes, kuriose yra viena ar daugiau ciklinių nuorodų į DTS sustojimo lentelę. Šią problemą sukelia ciklinė nuoroda ir pirmasis atributo mazgas nėra apskritimo dalis. Pvz., toliau pateiktas duomenų raštas rodo ciklinę nuorodą. Tačiau Member1 nario reikšmė nėra apskritimo dalis:

    Member1--Manager atributas--> Member2--Manager atributas--> Member3--Manager atributas--> Member2--Manager atributas--> 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)
  • Galite naudoti vieną iš toliau nurodytų būdų įkelti duomenų reikšmes į objektą naudodami DTS sustojimo procesą:

    • Paleiskite Exec [MDM]. [ "Udpstagingaivalymas " procedūra naudojant reikiamus parametrus, kad būtų apdoroti etapų duomenys.

    • Spustelėkite integravimo valdymas , kad APSILANKYTUMĖTE DTS svetainės pagrindiniame puslapyje. Puslapio importavimo eksportavimas dalyje Nebatched sustojimo įrašo sekcijos antraštė spustelėkite krumpliaračio piktogramą , kad apdorotumėte konkretaus modelio ir versijos duomenis.

Šiuo atveju fono procesas sustojimo metu gali susidurti su begalinis ciklas, kai foninis procesas viduje iškviečia [MDM]. [ udpMemberRecursiveCircularCheck] procedūra.

Priežastis

Ši problema kyla dėl to, kad " Udpsąstagingasnuvalymas " ir Udpstagingmembermemberretributesave procedūrų iškviečia "udpMemberRecursiveCircularCheck" procedūrą po vieną kartą kiekvienai sustojimo eilutei. Taip turėtų būti ieškoma domeno pagrįstos atributo reikšmės ir grąžinama klaida, jei sustojimo eilutė sukelia ciklinę nuorodą kartu su esamais duomenimis. Pažymėjus visas sustojimo eilutes, gaunate šiuos rezultatus:

  • Taikomos sustojimo eilutės, kuriose nėra klaidų.

  • Sustojimo eilutėse su klaidomis pažymimi klaidos kodas.

Jei skyriuje "Požymiai" aprašytos sąlygos yra teisingos, [MDM]. [ udpMemberRecursiveCircularCheck] procedūrų kilpos neribotai tol, kol bus išnaudotos serverio ištekliai arba baigiasi skirtojo laiko laikas.

Sprendimas

Kaupiamojo naujinimo informacija

"SQL Server 2008 R2" 1 pakeitimų paketas

Šios problemos taisymas pirmą kartą buvo išleistas 4 kaupiamąjį naujinimą. Jei norite gauti daugiau informacijos apie tai, kaip gauti šį kaupiamojo naujinimo paketą, skirtą "SQL Server" 2008 R2 SP1, spustelėkite toliau pateiktą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2633146 Kaupiamojo naujinimo paketas 4, skirtas "SQL Server 2008 R2" 1 pakeitimų paketuiPastaba Kadangi komponavimo versijos yra kumuliacinės, kiekviena nauja pataisų versija apima visas karštąsias pataisas ir visas saugos pataisas, kurios buvo pridėtos prie ankstesnio "SQL Server" 2008 R2 SP1 pataisos leidimo. Rekomenduojame apsvarstyti, kaip taikyti naujausią pataisų leidimą, kuriame yra šios karštosios pataisos. Jei reikia daugiau informacijos, spustelėkite toliau esantį straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2567616 SQL serverio 2008 R2 stato, buvo paleistas po to, kai buvo išleistas "SQL Server 2008 R2" 1 pakeitimų paketas

Statusą

"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.

Sprendimas

Norėdami išspręsti šią problemą, naudokite vieną iš šių būdų:

  • Norėdami išvengti šios problemos, atlikite šiuos veiksmus:

    1. Prieš paleisdami parengimo procesą, rankiniu būdu Peržiūrėkite į lentelę įterpiamą nario duomenų reikšmę.

    2. Įsitikinkite, kad visų domeno pagrįstų atributų narių reikšmės neturi ciklinių nuorodų, aprašytų skyriuje "Požymiai"

  • Kai skyriuje "Požymiai" aprašyta problema kyla, atlikite šiuos veiksmus, kad ištaisytumėte problemą:

    1. Identifikuoti seansą, kuris veikia uždarame cikle.

    2. Nužudyk seansą, kad sustabdytumėte ciklą.

    3. Panaikinkite Ciklinės nuorodos reikšmes iš sustojimo lentelės prieš vėl apdorojus ciklinę nuorodą.

Pastabos

  • Norėdami nustatyti, kurį seansą užmušti, naudokite vieną iš šių būdų:

    • Naudokite "Microsoft SQL Server Management Studio" veiklos monitorių.

    • Pasirinkite iš sys. sysprocesai arba sys.dm_exec_requests dinaminio valdymo rodinys (DMV), kad nustatytumėte SEANSUS, kurie veikia DTS duomenų bazėje, kurioje CPU ir laikas sparčiai didėja. Įsitikinkite, kad dabartinė užklausa, kuri veikia seanse, sutampa su procedūrų pavadinimais, aprašytais skyriuje "priežastis".

  • Norėdami nustatyti sesijų metu vykdomą procedūrą, naudokite vieną iš šių būdų:

    • Kiekvieno proceso "Activity Monitor" procesų sąraše dešiniuoju pelės mygtuku spustelėkite išsami informacija .

    • Naudokite vieną iš šių parametrų:

      • DBCC INPUTBUFFER (SPID) komanda kartu su seanso ID.

      • Pasirinkite * iš sys.dm_exec_sql_text (sqlrankenėlė) funkciją kartu su atitikimo SQL rankenėlės parametru, kai naudojate DMV išvestį.

Nuorodos

Daugiau informacijos apie tai, kaip atidaryti veiklos monitorių "SQL Server Management Studio", rasite apsilankę šioje MSDN svetainėje:

Kaip atidaryti veiklos monitorių "SQL Server Management Studio"Daugiau informacijos apie naikinimo sintaksę rasite apsilankę šioje MSDN svetainėje:

Bendros informacijos apie naikinimo sintaksęJei norite gauti daugiau informacijos apie sys.dm_exec_requests DMV, apsilankykite šioje MSDN svetainėje:

Bendros informacijos apie sys.dm_exec_requests DMVJei norite gauti daugiau informacijos apie sys.dm_exec_sql_text DMV, apsilankykite šioje MSDN svetainėje:

Bendros informacijos apie sys.dm_exec_sql_text DMVJei norite gauti daugiau informacijos apie komandą DBCC INPUTBUFFER , apsilankykite šioje MSDN svetainėje:

Bendros informacijos apie komandą DBCC INPUTBUFFERDaugiau informacijos apie papildinio aptarnavimo modelį, skirtą "SQL Server", rasite spustelėję toliau nurodytą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

935897 Papildinio aptarnavimo modelį galima naudoti "SQL Server" komandai, kad būtų pateiktos praneštų problemų karštosios pataisosDaugiau informacijos apie "SQL Server" naujinimų pavadinimų suteikimo schemą rasite spustelėję toliau nurodytą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

822499 Nauja vardų suteikimo schema, skirta "Microsoft SQL Server" programinės įrangos naujinimų paketamsDaugiau informacijos apie programinės įrangos naujinimo terminiją rasite spustelėję toliau nurodytą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

824684 Įprastos terminologijos, vartojamos "Microsoft" programinės įrangos naujinimams apibūdinti, aprašas

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×