Deli z drugimi prek


Asinhrona obdelava kaskadnih transakcij

Določene transakcije je mogoče konfigurirati tako, da se kaskadno izvedejo za vse povezane zapise. To pomeni, da se sprememba nadrejenega zapisa prenese na (kaskadno navzdol) vse podrejene zapise. Kaskadni odnosi so konfigurirani na ravni tabele. Za več informacij o kaskadnih odnosih glejte Konfiguracija kaskadnega obnašanja odnosa tabele.

Sinhroni in asinhroni načini

Kaskadni postopki se privzeto izvajajo kot sinhrona transakcija. Pri sinhroni kaskadni transakciji sistem prepozna vse vključene zapise. Med obdelavo zapisov jih sistem zaklene. Ko so vse spremembe dokončane, se zapisi odklenejo in transakcija je zaključena.

Sinhrone transakcije z velikim številom zapisov lahko povzročijo težave z zmogljivostjo okolja, ko dolgotrajne transakcije ne uspejo zaradi časovnih omejitev strežnika. Zapisi so zaklenjeni, kar preprečuje izvajanje drugih opravil in uporabniških transakcij, ki delujejo na istih zapisih. Prav tako lahko dolgotrajne transakcije povzročijo kopičenje čakajočih transakcij in zahtev, ki zmanjšajo zmogljivost sistema in lahko povzročijo zaustavitev dela.

Če se med izvajanjem sinhronih kaskadnih postopkov v okolju prihaja do časovnih omejitev ali slabšega delovanja, bi lahko vašemu okolje morda koristilo, da omogočite asinhroni način. Glavne razlike med načini so opisane v naslednji tabeli.

Sinhroni način Asinhroni način
Za celoten nabor izbranih zapisov ni mogoče izvesti nobenega drugega posla (neposrednega ali kaskadnega), dokler kaskadni postopek ni končan. Za dodelitev, brisanje in spajanje so kaskadne spremembe paketne, pri čemer se zaklenejo samo zapisi, ki se obdelujejo znotraj paketa. To drugim poslom omogoča izvajanje med celotno kaskadno operacijo spreminjanja.
Po zaključku posla vsi podatki prikazujejo novo želeno vrednost. Ko se posel izvaja, vsak dokončani paket prikazuje želeno vrednost. To pomeni, da obstaja čas, ko nekateri podatki prikazujejo želeno vrednost, nekateri pa prvotno vrednost, dokler se celotna operacija ne zaključi. To se imenuje "končna doslednost".
Če en sam zapis ne uspe, se vsi podatki vrnejo na prvotno vrednost. Povratek zahteva ponovno urejanje vseh dokončanih zapisov, kar traja več časa. Če posamezen posel ne uspe, se zažene večkrat in poskusi dokončati. Če opravila ni mogoče dokončati, se napaka zabeleži v območju Sistemska opravila . Upoštevajte, da uspešno dokončani zapisi ohranijo novo vrednost.
Če ima eden od zapisov na kaskadnem seznamu vrednost, ki se razlikuje od pričakovane vrednosti, opravilo ne uspe in se povrne nazaj. Na primer, predpostavimo, da začetni zapis pripada Lastniku 1 in kaskadna operacija ga želi spremeniti v Lastniku 2. Če se eden od spodnjih povezanih zapisov spremeni v Lastnik 3 ali se izbriše, preden pride do zaklepanja, se celotno opravilo povrne nazaj. Za Dodeli operacija vedno deluje v načinu prepisovanja, pri čemer se trenutna vrednost spremeni v novo vrednost na podlagi razmerja starš-otrok. Zaradi neusklajenosti prvotnih vrednosti posel ne more biti neuspešen. Za Izbriši, če manjka zapis, ki je bil pričakovan kot del niza, se vsi zapisi do točke napake štejejo za dokončane. Uporabnik ali skrbnik lahko znova izvede neuspelo opravilo, ki ponovno izračuna opravilo za nadaljevanje brez manjkajočega zapisa. Če pri spajanju pride do težave z manjkajočim zapisom, se opravilo znova poskusi in izvede brez manjkajočega zapisa.

Asinhroni način in vtičniki

Ko kaskadna transakcija doseže prag za vključene zapise in nima nobenih vtičnikov, povezanih z zapisi, se zapisi obdelajo asinhrono.

Operacija Prag
Dodeljevanje 1.000 zapisov
Delete 10.000 zapisov
Spajanje 1.000 zapisov

Če je zapisu znotraj asinhronega paketa dodeljen vtičnik, se posodobitev ali brisanje posameznega zapisa skupaj z vsemi povezanimi vtičniki za ta zapis izvede sinhrono. To se zgodi kot del transakcije, preden se premaknete na naslednji zapis v asinhronem paketu.

Če vtičnik znotraj asinhrone transakcije sproži novo kaskadno brisanje ali dodelitev, se nova kaskadna transakcija vedno izvaja sinhrono znotraj trenutne asinhrone transakcije. S tem preprečite več plasti asinhronih transakcij.

Spremljanje napredovanja asinhrone operacije

Skrbniki lahko spremljajo obdelavo asinhronih operacij v območju Nastavitve.

  1. Prijavite se v Power Platform skrbniško središče.

  2. Izberite možnost Okolja v območju za krmarjenje. Nato izberite želeno okolje.

  3. Izberite Nastavitve, razširite možnost Spremljanje sprememb in dnevniki in nato izberite Sistemski posel.

  4. Kaskadne operacije so prikazane v pogledu Sistemska opravila .

    Kaskadni pogled operacij.

    Če si želite ogledati samo kaskadne postopke, v izbirniku za Pogled izberite Kaskadni postopki.

    Izbirnik pogleda Cascade Operations.

Kaskadni postopki imajo enega od naslednjih stanj:

  • Dokončano: Vsi paketi kaskadne transakcije so bili uspešno zaključeni.
  • V teku: V teku so kaskadne spremembe.
  • Neuspešno: Po večkratnih poskusih nekatere kaskadne spremembe niso uspele.

opomba,

Asinhronega kaskadnega posla ni mogoče preklicati. Počakati morate, da se dokonča, kar prepoznate po stanju Končano ali Ni uspelo.

Če odprete kaskadni postopek, se prikažejo naslednji podatki:

  • Koliko poskusov je bilo opravljenih pri izvedbo posamezne transakcije.

  • Datumi in ure ustvarjanj in zaključkov.

  • Kdo je ustvaril posel.

  • Vsa sporočila, povezana s poslom, na primer vzroki za neuspeh ali izjeme.

    Zapis kaskadnega delovanja.

Katere kaskadne transakcije je mogoče obdelati asinhrono?

Kaskadne transakcije za dodeljevanje, brisanje in spajanje je mogoče obdelati asinhrono.

opomba,

Druge transakcije, kot so skupna raba/preklic skupne rabe, skupni pogled in ponovna nadrejenost, so trenutno v pregledu zaradi asinhrone obdelave.

Odpravljanje težav z asinhronimi kaskadnimi operacijami

Ko sinhrona kaskadna opravila ne uspejo, se ustavijo in povrnejo vse spremembe, tako da noben zapis ne vključuje zahtevanih sprememb. To je lahko dolgotrajen postopek, saj lahko povrnitve trajajo tako dolgo kot prvotni poskus, ponovni poskus operacije pa se začne znova od prvega zapisa.

Če pride do napake, asinhrone operacije poskusijo večkrat. V večini primerov je vnovični poskus posla uspešen in posel se lahko nadaljuje do konca. V nekaterih redkih primerih ponovni poskus ne reši težave. Ko se to zgodi, se asinhrono opravilo zaustavi, skrbnik in uporabnik pa lahko odpravita težavo in nadaljujeta opravilo od točke, kjer je bilo začasno ustavljeno.

Pogosti vzroki za napake pri kaskadnih operacijah

Pogosti razlogi za napake pri obdelavi kaskadnih operacij vključujejo:

  • Izjeme vtičnikov
  • Varnostne izjeme

Izjeme vtičnikov

Vtičniki so dodani obdelavi kaskadnih operacij za izvedbo določenih dejanj, ko se zapis spremeni, kot je pošiljanje e-pošte ali sprožitev drugačne posodobitve drugih zapisov. Lahko jih zagotovijo neodvisni ponudniki ali pa jih razvijejo sami. Če vtičnik ustvari izjemo, kaskadna operacija ne uspe. Težavo lahko odpravi vnovični poskus odvisno od razloga za izjemo. Če je asinhrono kaskadno opravilo začasno ustavljeno zaradi napak, preverite vse vtičnike, ki so povezani z operacijami, da se prepričate, da ne ustvarjajo izjem. Ko je težava odpravljena, se lahko posel nadaljuje.

Varnostne izjeme

Varnostne izjeme se pojavijo, kadar uporabnik, ki je izvedel kaskadno operacijo, nima zadostnih pravic za spremembo enega ali več zapisov ali pa je uporabnik onemogočen ali odstranjen iz sistema.

Če je uporabnik še vedno v sistemu, preverite, ali ima potrebne privilegije za spreminjanje zapisov in ali ima dovoljenje za izvajanje navedenih dejanj. Ko je to rešeno, nadaljujte z delom.

Če je bil uporabnik onemogočen ali odstranjen iz sistema, ponovno omogočanje ali ponovno dodajanje uporabnika odpravi težavo in opravilo je mogoče nadaljevati. Če pa je treba uporabnika izbrisati ali onemogočiti ali če ne bi smel imeti dovoljenj za dejanja ali zapise, mora nekdo, ki ima ustrezna dovoljenja, posel preklicati in ga znova zagnati.

Če imate kakršne koli druge težave z neuspelimi posli, se obrnite na Microsoftovo podporo. Več informacij: Pregled podpore

Odpravljanje težav z brisanjem datotek med kaskadnim spajanjem

Če pride do napak pri kaskadnih postopkih spajanja, ker so datoteke med izvajanjem posla izbrisane, lahko preskočite preverjanje nadrejenega elementa. To omogoča nadaljevanje spajanja, tudi če nekdo iz nabora izbriše zapis, medtem ko se posel izvaja v ozadju. Ko se odločite za spajanje zapisov, na dnu okna za spajanje počistite polje Starševsko preverjanje je privzeto omogočeno. Počistite to polje, če želite prezreti možnost starševskega preverjanja .

Pogovorno okno za spajanje zapisov.

Primer spajanja zapisov

Predstavljajte si, da imate kupce z odnosom s stiki, ki imajo odnos z naročili. Želite združiti dva zapisa kupcev.

Če se posel uspešno zažene, spojitev ciljnemu kupcu dodeli vse povezane stike in njihova naročila.

Če drug uporabnik med postopkom združevanja zapisov izbriše soroden zapis stika, vendar še vedno obstajajo zapisi naročil, povezani z zapisom stika, opravilo združevanja ne uspe, ker manjka nadrejeni zapis v podrejeni zapis. Če se med združevanjem zapisov odločite, da preskočite preverjanje nadrejenosti, se naročila z manjkajočim zapisom stika združijo v zapis ciljnega računa. Vendar ciljnemu računu ni dodeljen noben povezan zapis stikov in opravilo je dokončano.

Spajanje povzroči zaklepanja, ki preprečijo druge spremembe dostopa

Kaskadni postopek za spajanje omogoča dostop novemu lastniku podrejene tabele. Če želite to narediti, operacija kaskadnega združevanja dostopa in spreminja tabelo glavnih predmetov, ki zahtevajo zaklepanje. Če operacija združevanja vsebuje veliko zapisov (na podlagi kaskadnega odnosa), je to zaklepanje lahko v uporabi dalj časa. To lahko povzroči napako, če poskuša operacija odobriti ali preklicati dostop do nepovezanega zapisa med izvajanjem združevanja. Če se to zgodi, poskusite izvesti združevanje izven delovnih ur, da zmanjšate blokiranje.

Glejte tudi

Pregled odnosov tabel