Asynkron behandling af overlappende transaktioner
Visse transaktioner kan konfigureres til at overlappe på tværs af relaterede poster. Det betyder, at ændringen på en overordnet post overføres til (overlappes nedad) alle underordnede poster. Overlappende relationer konfigureres på tabelniveau. Du kan finde flere oplysninger om overlappende relationer under Konfigurere overlappende funktionsmåde for tabelrelationer.
Synkrone i forhold til asynkrone tilstande
Som standard udføres overlappende handlinger som en synkron transaktion. I forbindelse med en synkron, overlappende transaktion identificeres alle de påvirkede poster af systemet. Efterhånden som posterne behandles, låses de af systemet. Når alle ændringerne er fuldført, låses posterne op, og transaktionen er fuldført.
Synkrone transaktioner med et stort antal poster kan medføre problemer med ydeevnen for miljøer, når langvarige transaktioner mislykkes på grund af servertimeout. Posterne er låst, hvilket forhindrer kørsel af andre job og brugertransaktioner, der kører på de samme poster. Langvarige transaktioner kan desuden resultere i en ordrebeholdning af ventende transaktioner og forespørgsler, der nedsætter systemydeevnen, og som kan medføre driftsstop.
Hvis et miljø støder på timeout eller forringet ydeevne, mens de synkrone, overlappende handlinger er i gang, kan miljøet få fordel af at aktivere den asynkrone tilstand. De væsentligste forskelle mellem tilstandene beskrives i denne tabel.
Synkron tilstand | Asynkron tilstand |
---|---|
Der kan ikke køres andre job på hele sættet af valgte poster (direkte eller overlappende), før den overlappende handling er fuldført. | Ved tildeling, sletning og fletning samles overlappende ændringer, så kun de poster, der behandles i batchet, bliver låst. Det gør det muligt at køre andre job under handling for den fulde, overlappende ændring. |
Når jobbet er fuldført, viser alle data den nye ønskede værdi. | Når jobbet kører, viser hver enkelt fuldført batch den ønskede værdi. Det betyder, at der vil være et tidspunkt, hvor nogle data viser den ønskede værdi, og nogle viser den oprindelige værdi, indtil den fulde handling er fuldført. Dette kaldes også "endelig konsistens". |
Hvis en enkelt post fejler, annulleres alle data tilbage til den oprindelige værdi. Annullering af opdateringen kræver, at alle fuldførte poster redigeres igen, hvilket tager ekstra tid. | Hvis et enkelt job fejler, gentages det til flere gange for at forsøge fuldførelse. Hvis jobbet ikke kan fuldføres, registreres fejlen i området Systemjob. Bemærk, at alle poster, der er fuldført, bevarer den nye værdi. |
Hvis en af posterne på den overlappende liste har en værdi, der er forskellig fra den forventede værdi, mislykkes jobbet og annulleres. Lad os antage, at startposten tilhører Ejer 1, og den overlappende handling ønsker at ændre den Ejer 2. Hvis en af de downstream-relaterede poster er ændret til Ejer 3, eller slettes, før låsningen indtræffer, annulleres hele jobbet. | Handlingen Tildel virker altid i overskrivningstilstand, hvor den aktuelle værdi ændres til den nye værdi baseret på den overordnede-underordnede relation. Ingen job mislykkes på grund af en uoverensstemmelse i den oprindelige værdi. Ved sletning betragtes alle poster frem til fejlpunktet som fuldførte, hvis en post, der var forventet som en del af sættet, mangler. Brugeren eller administratoren kan udføre det mislykkede job igen og derefter genberegnes jobbet for at fortsætte uden den manglende post. Hvis der er problemer med en manglende post i forbindelse med fletning, udføres jobbet igen uden den manglende post. |
Asynkron tilstand
Når en overlappende transaktion opfylder tærsklen for inkluderede poster, behandles posterne asynkront,
Operation | Threshold |
---|---|
Tildel | 1.000 poster |
Delete | 5,000 poster |
Fletning | 1.000 poster |
Spore status for asynkrone handlinger
Administratorer kan overvåge behandlingen af asynkrone handlinger i området Indstillinger.
Log på Power Platform Administration.
Vælg Miljøer i navigationsområdet. Vælg det ønskede miljø.
Vælg Indstillinger, udvid Overvågning og logfiler, og vælg derefter Systemjob.
Overlappende handlinger kan ses i visningen Systemjob.
Hvis du kun vil have vist overlappende handlinger, skal du vælge Overlappende handlinger i vælgeren Visning .
Overlappende handlinger har en af følgende statusser:
- Fuldført: Alle batches af den overlappende transaktion er fuldført.
- Igangværende: Kaskadeændringer er i gang.
- Mislykkedes: Efter flere nye forsøg er nogle af de overlappende ændringer mislykkedes.
Bemærk
Det er ikke muligt at annullere et asynkront, overlappende job. Du skal vente, til det er fuldført, ved at angive statussen Fuldført eller Mislykket.
Hvis du åbner en overlappende handling, vises:
Antallet af forsøg, der er foretaget for den pågældende transaktion.
Datoer og klokkeslæt for oprettelse og fuldførelse.
Hvem, der oprettede jobbet.
Alle meddelelser, der er knyttet til jobbet, f.eks. fejlårsager eller undtagelser.
Hvilke overlappende transaktioner kan behandles asynkront?
Tildeling, sletning og fletning af overlappende transaktioner kan behandles asynkront.
Bemærk
I øjeblikket gennemgås andre transaktioner, f.eks. deling/ophævelse af deling, akkumuleringsvisning og ændring af overordnede, for asynkron behandling.
Fejlfinding af problemer med asynkrone overlappende handlinger
Når synkrone overlappende job mislykkes, stopper de og annullerer alle ændringerne, så ingen af posterne inkluderer de ønskede ændringer. Dette kan være en tidskrævende proces, da tilbageførsler kan tage lige så længe som det oprindelige forsøg og nye forsøg på at udføre handlingen startes fra den første post.
Asynkrone handlinger vil forsøge igen flere gange, hvis der opstår en fejl. I de fleste tilfælde lykkes gentagne forsøg på at udføre et job, og jobbet kan blive fuldført. I sjældne tilfælde er det ikke muligt at løse problemet ved at forsøge igen. Når dette sker, stoppes det asynkrone job midlertidigt, og administratoren og brugeren kan løse problemet og genoptage jobbet fra det sted, hvor det blev standset.
Almindelige årsager til fejl i overlappende handlinger
Almindelige årsager til fejl under behandling af overlappende handlinger omfatter:
- Plug-in-undtagelser
- Undtagelser for sikkerhed
Plug-in-undtagelser
Plug-ins føjes til behandlingen af overlappende handlinger for at udføre bestemte handlinger, når der foretages ændringer af en post, f.eks. afsendelse af en mail eller udløsning af en anden opdatering på andre poster. De kan leveres af tredjeparter eller udvikles internt. Hvis der opstår en undtagelse i en plug-in, mislykkes den overlappende handling. Afhængigt af årsagen til undtagelsen, kan det måske løse problemet ved at prøve igen. Hvis det asynkrone overlappede job er midlertidigt afbrudt pga. fejl, skal du validere alle plug-ins, der er knyttet til handlingerne, for at sikre, at de ikke genererer undtagelser. Jobbet kan genoptages, når det er rettet.
Undtagelser for sikkerhed
Der opstår sikkerhedsundtagelser, når den bruger, der har kørt den overlappende handling, ikke har tilstrækkelige rettigheder til at foretage en ændring af en eller flere poster, eller hvis brugeren er deaktiveret eller fjernet fra systemet.
Hvis brugeren stadig er i systemet, skal du validere, om de har de nødvendige rettigheder til at redigere posterne, og at de har tilladelser til at udføre de angivne handlinger. Når dette er løst, kan du genoptage jobbet.
Hvis brugeren er deaktiveret eller fjernet fra systemet, kan du løse problemet ved at genaktivere eller tilføje brugeren, så jobbet kan genoptages. Men hvis brugeren skal slettes eller deaktiveres eller ikke skal have tilladelser til handlingerne eller posterne, skal jobbet annulleres og genstartes af en person med de nødvendige tilladelser.
Hvis du har andre problemer med mislykkede job, skal du kontakte Microsoft support. Flere oplysninger: Supportoversigt
Fejlfinding i forbindelse med sletning af filer under overlappende fletning
Hvis du oplever fejl i forbindelse med overlappende fletninger, fordi filer er blevet slettet under kørsel af jobbet, kan du springe over den overordnede kontrol. Det betyder, at fletningen kan fortsætte, hvis en bruger sletter en post fra sættet, mens jobbet kører i baggrunden. Ved fletning af poster skal du fjerne markeringen i indstillingen Overordnet kontrol er som standard aktiveret. Fjern markeringen for at ignorere den overordnede kontrol.
Eksempel på fletning af poster
Forestil dig, at du har firmaer med relation til en kontaktperson, som har en relation til ordrer. Du vil flette to kontoposter.
Hvis jobbet køres korrekt, tildeler fletningen alle tilknyttede kontaktpersoner og deres ordrer til destinationskontoen.
Hvis en anden bruger under fletning af poster sletter en relateret kontaktpersonpost, men ordreposterne stadig er relateret til kontaktpersonposten, mislykkes fletningsjobbet, fordi der mangler en overordnet post til en underordnet post. Hvis du vælger at springe over den overordnede kontrol under postfletningen, flettes ordrerne med den manglende kontaktpersonpost i destinationskontoposten. Der tildeles dog ingen relaterede kontaktpersonposter til destinationskontoen, og jobbet fuldføres.
Fletning medfører låse, der forhindrer andre adgangsændringer
Handlingen Overlappet flet giver adgang til den nye ejer af den underordnede tabel. Hvis du gør det, får handlingen Overlappet flet adgang til og kan foretage ændringer af tabellen over primært objekt, som kræver en lås. Hvis en flettehandling indeholder mange poster (baseret på den overlappede relation), kan denne lås være angivet i en længere periode. Dette kan resultere i en fejl, hvis en handling forsøger at tildele eller ophæve adgangen til en ikke-relateret post, mens fletningen kører. Hvis det sker, kan du prøve at udføre fletningen uden for arbejdstiden, så blokeringen kan reduceres.