Asynchrone verwerking van trapsgewijze transacties
Bepaalde transacties kunnen zo worden geconfigureerd om alle gerelateerde records trapsgewijs te bewerken. Dit betekent dat de wijziging in een bovenliggend record wordt doorgevoerd (trapsgewijs naar beneden wordt doorgevoerd) in alle onderliggende records. Trapsgewijze relaties worden op tabelniveau geconfigureerd. Zie voor meer informatie over trapsgewijze relaties Trapsgewijs gedrag van tabelrelatie configureren.
Synchrone modus versus asynchrone modus
Trapsgewijze bewerkingen worden standaard uitgevoerd als een synchrone transactie. Voor een synchrone trapsgewijze transactie worden alle betroffen records door het systeem geïdentificeerd. Terwijl de records worden verwerkt, worden ze vergrendeld door het systeem. Als alle wijzigingen zijn doorgevoerd, worden de records ontgrendeld en is de transactie voltooid.
Synchrone transacties met een groot aantal records kunnen prestatieproblemen veroorzaken in omgevingen waarin langlopende transacties mislukken vanwege servertime-outs. De records zijn vergrendeld om te voorkomen dat er andere bewerkingen en gebruikerstransacties op dezelfde records worden uitgevoerd. Langlopende transacties kunnen ook resulteren in een achterstand van lopende transacties en verzoeken die de systeemprestaties verminderen en werkonderbrekingen kunnen veroorzaken.
Als er in een omgeving time-outs of verminderde prestaties optreden terwijl de synchrone trapsgewijze bewerkingen worden uitgevoerd, presteert uw omgeving mogelijk beter als u de asynchrone modus inschakelt. De belangrijkste verschillen tussen de modi worden in de volgende tabel beschreven.
Synchrone modus | Asynchrone modus |
---|---|
Er kunnen geen andere taken worden uitgevoerd op de gehele set geselecteerde records (direct of trapsgewijs) totdat de trapsgewijze bewerking is voltooid. | Voor Toewijzen, Verwijderen en Samenvoegen worden trapsgewijze wijzigingen in batches uitgevoerd, waardoor alleen de records worden vergrendeld die binnen de batch worden verwerkt. Hierdoor kunnen andere taken worden uitgevoerd tijdens de volledige trapsgewijze doorvoering van de wijziging. |
Wanneer de taak is voltooid, worden alle gegevens met de nieuwe gewenste waarden weergegeven. | Terwijl de taak wordt uitgevoerd, wordt elke voltooide batch met de gewenste waarde weergegeven. Dit betekent dat er op een bepaald moment bij sommige gegevens de gewenste waarde en bij sommige gegevens de oorspronkelijke waarde wordt weergegeven totdat de volledige bewerking is voltooid. Dit wordt ook wel 'uiteindelijke consistentie' genoemd. |
Als één record niet kan worden gewijzigd, worden alle gegevens teruggezet naar de oorspronkelijke waarde. Om gegevens terug te draaien, moeten alle voltooide records opnieuw worden bewerkt, wat meer tijd kost. | Als één taak niet kan worden uitgevoerd, wordt de taak meerdere keren opnieuw uitgevoerd om te proberen de taak te voltooien. Als de taak niet kan worden voltooid, wordt de fout vastgelegd in het gebied Systeemtaken. Records die met succes zijn bewerkt, behouden de nieuwe waarde. |
Als een van de records in de trapsgewijze lijst een andere waarde heeft dan de verwachte waarde, mislukt de taak en wordt de taak teruggedraaid. Het startrecord is bijvoorbeeld van Eigenaar 1 en bij de trapsgewijze bewerking moet dit worden veranderd in Eigenaar 2. Als een van de stroomafwaarts-gerelateerde records is gewijzigd in Eigenaar 3 of wordt verwijderd voordat de vergrendeling plaatsvindt, wordt de hele taak teruggedraaid. | Voo Toewijzen werkt de bewerking altijd in de modus voor overschrijven waarbij de huidige waarde wordt gewijzigd in de nieuwe waarde op basis van de bovenliggende/onderliggende relatie. Er treden geen taakfouten op als gevolg van een oorspronkelijke niet-overeenkomende waarde. Voor Verwijderen worden, bij het ontbreken van een record die als onderdeel van de set werd verwacht, alle records tot aan het punt van de storing als voltooid beschouwd. De gebruiker of beheerder kan de mislukte taak opnieuw uitvoeren, waardoor de taak opnieuw wordt berekend om door te gaan zonder de ontbrekende record. Als er bij Samenvoegen een probleem is met een ontbrekend record, wordt de taak opnieuw geprobeerd en uitgevoerd zonder het ontbrekende record. |
Asynchrone modus
Wanneer een cascadetransactie de drempelwaarde voor opgenomen records bereikt, worden de records asynchroon verwerkt.
Operation | Threshold |
---|---|
Toewijzen | 1000 records |
Delete | 5,000 records |
Samenvoeging | 1000 records |
De voortgang van asynchrone bewerkingen volgen
Beheerders kunnen de verwerking van asynchrone bewerkingen volgen in het gebied Instellingen.
Meld u aan bij het Power Platform-beheercentrum.
Selecteer Omgevingen in het navigatiegebied. Selecteer vervolgens de gewenste omgeving.
Selecteer Instellingen, vouw Controle en logboeken uit en selecteer vervolgens Systeemtaken.
De trapsgewijze bewerkingen worden weergegeven in de weergave Systeemtaken.
Als u alleen trapsgewijze bewerkingen wilt weergeven, selecteert u bij Weergave selecteren de optie Trapsgewijze bewerkingen.
Trapsgewijze bewerkingen hebben een van de volgende statussen:
- Voltooid: Alle batches van de cascadetransactie zijn succesvol voltooid.
- In uitvoering: Er worden cascadewijzigingen doorgevoerd.
- Mislukt: Na meerdere pogingen zijn enkele van de opeenvolgende wijzigingen mislukt.
Notitie
Het is niet mogelijk om een asynchrone trapsgewijze taak te annuleren. U moet wachten totdat de taak is voltooid door de status Voltooid of Mislukt aan te geven.
Bij het openen van een trapsgewijze bewerking wordt het volgende weergegeven:
Hoeveel nieuwe pogingen hebben plaatsgevonden voor de specifieke transactie.
Datums en tijden waarop de taak is gemaakt en voltooid.
Wie de taak heeft gemaakt.
Alle berichten die aan de taak zijn gekoppeld, zoals redenen van fouten of uitzonderingen.
Welke trapsgewijze transacties kunnen asynchroon worden verwerkt?
Trapsgewijze transacties voor toewijzen, verwijderen en samenvoegen kunnen asynchroon worden verwerkt.
Notitie
Andere transacties, zoals delen of delen ongedaan maken, samenvouwweergave en bovenliggende elementen opnieuw opgeven, worden momenteel beoordeeld voor asynchrone verwerking.
Problemen oplossen met asynchrone trapsgewijze bewerkingen
Wanneer synchrone trapsgewijze taken mislukken, stoppen ze en worden alle wijzigingen ongedaan gemaakt, zodat geen van de records de aangevraagde wijzigingen bevat. Dit kan een tijdrovend proces zijn, aangezien het terugdraaien net zo lang kan duren als de oorspronkelijke poging en het opnieuw proberen van de bewerking opnieuw wordt gestart vanaf de eerste record.
Asynchrone bewerkingen worden meerdere keren opnieuw geprobeerd als er een fout optreedt. In de meeste gevallen heeft het opnieuw proberen van de taak succes en kan de taak worden voltooid. In sommige zeldzame gevallen lost een nieuwe poging het probleem niet op. Wanneer dit gebeurt, wordt de asynchrone taak gepauzeerd en kunnen de beheerder en de gebruiker het probleem oplossen en de taak hervatten vanaf het punt waarop deze is gepauzeerd.
Veelvoorkomende oorzaken van fouten bij trapsgewijze bewerkingen
Veelvoorkomende redenen voor fouten bij het verwerken van trapsgewijze bewerkingen zijn:
- Uitzonderingen van invoegtoepassingen
- Beveiligingsuitzonderingen
Uitzonderingen van invoegtoepassingen
Invoegtoepassingen worden toegevoegd aan de verwerking van trapsgewijze bewerkingen om specifieke acties te ondernemen wanneer er wijzigingen worden aangebracht in een record, zoals het verzenden van een e-mail of het activeren van een andere update voor andere records. Deze kunnen worden geleverd door derden of in eigen huis ontwikkeld. Als een invoegtoepassing een uitzondering genereert, zal de trapsgewijze bewerking mislukken. Afhankelijk van de reden voor de uitzondering, kan een nieuwe poging het probleem mogelijk oplossen. Als de asynchrone trapsgewijze taak is onderbroken vanwege fouten, valideer dan alle invoegtoepassingen die aan de bewerkingen zijn gekoppeld om er zeker van te zijn dat ze geen uitzonderingen genereren. Nadat het probleem is opgelost, kan de taak worden hervat.
Beveiligingsuitzonderingen
Beveiligingsuitzonderingen doen zich voor wanneer de gebruiker die de trapsgewijze bewerking heeft uitgevoerd, onvoldoende bevoegdheden heeft om een wijziging aan te brengen in een of meer records of wanneer de gebruiker is uitgeschakeld of verwijderd uit het systeem.
Als de gebruiker zich nog in het systeem bevindt, controleer dan of hij of zij de benodigde bevoegdheden heeft om de records te wijzigen en over de machtiging beschikt om de gespecificeerde acties uit te voeren. Nadat dit is opgelost, hervat u de taak.
Als de gebruiker is uitgeschakeld of verwijderd uit het systeem, zal het opnieuw inschakelen of lezen van de gebruiker het probleem oplossen en kan de taak worden hervat. Als de gebruiker echter moet worden verwijderd of uitgeschakeld of als hij geen machtigingen mag hebben voor de acties of records, moet de taak worden geannuleerd en opnieuw worden gestart door iemand met de juiste machtigingen.
Voor andere problemen met mislukte taken kunt u contact opnemen met Microsoft Support. Meer informatie: Overzicht ondersteuning
Problemen met het verwijderen van bestanden oplossen tijdens trapsgewijs samenvoegen
Als u fouten ondervindt bij trapsgewijze samenvoegbewerkingen omdat bestanden worden verwijderd tijdens het uitvoeren van de taak, kunt u de ouderschapscontrole overslaan. Hierdoor kan uw samenvoeging doorgaan, zelfs als iemand een record uit de set verwijdert terwijl de taak op de achtergrond wordt uitgevoerd. Als u ervoor kiest om records samen te voegen, schakelt u onder in het samenvoegvenster de optie Ouderschapscontrole is standaard ingeschakeld. Schakel dit uit om de ouderschapscontrole te negeren uit.
Voorbeeld van samenvoegen van records
Stel u voor dat u accounts hebt met een contactpersoonrelatie, die een relatie heeft met orders. U wilt twee accountrecords samenvoegen.
Als de taak met succes wordt uitgevoerd, worden bij de samenvoeging alle gerelateerde contactpersonen en hun orders toegewezen aan het doelaccount.
Als tijdens het samenvoegen van records een andere gebruiker een gerelateerde contactpersoonrecord verwijdert, maar er nog steeds orderrecords bestaan die betrekking hebben op de contactpersoonrecord, mislukt de samenvoegingstaak omdat een record van bovenliggend element naar onderliggend element ontbreekt. Als u ervoor kiest om de ouderschapscontrole over te slaan tijdens het samenvoegen van records, worden de orders met de ontbrekende contactpersoonrecord samengevoegd in de doelaccountrecord. Er worden echter geen gerelateerde contactpersoonrecords toegewezen aan het doelaccount en de taak zal worden voltooid.
Samenvoegen waardoor vergrendelingen ontstaan die andere toegangswijzigingen voorkomen
De bewerking Trapsgewijs rangschikken Samenvoegen verleent toegang aan de nieuwe eigenaar van de ondergeschikte tabel. Om dit te doen, verkrijgt de bewerking Trapsgewijs samenvoegen toegang tot en brengt wijzigingen aan in de tabel principalobjecten die een vergrendeling vereisen. Als een samenvoegbewerking veel records bevat (op basis van de trapsgewijs-relatie), kan deze vergrendeling langere tijd van kracht zijn. Dit kan resulteren in een fout als een bewerking probeert toegang te verlenen of in te trekken voor een niet-gerelateerde record terwijl het samenvoegen wordt uitgevoerd. Als dit gebeurt, probeer dan de samenvoeging buiten kantooruren uit te voeren, zodat de blokkering kan worden verminderd.