Zdieľať cez


Asynchrónne spracovanie kaskádových transakcií

Niektoré transakcie je možné nakonfigurovať tak, aby kaskádovali vo všetkých súvisiacich záznamoch. To znamená, že zmena v nadradenom zázname sa prenesie do všetkých podriadených záznamov (kaskádovo nadol). Kaskádové vzťahy sú konfigurované na úrovni tabuľky. Ďalšie informácie o kaskádových vzťahoch nájdete v časti Konfigurácia kaskádového správania vzťahu tabuľky.

Synchrónne vs. asynchrónne režimy

Štandardne sa kaskádové operácie vykonávajú ako synchrónna transakcia. V prípade synchrónnej kaskádovej transakcie systém identifikuje všetky ovplyvnené záznamy. Po spracovaní záznamov ich systém uzamkne. Po dokončení všetkých zmien sa záznamy odomknú a transakcia sa dokončí.

Synchrónne transakcie s veľkým počtom záznamov môžu v prostrediach spôsobiť problémy s výkonom, keď dlhotrvajúce transakcie zlyhajú z dôvodu časového limitu servera. Záznamy sú uzamknuté, čo bráni vykonaniu iných úloh a užívateľských transakcií, ktoré pracujú s rovnakými záznamami. Dlhotrvajúce transakcie môžu tiež viesť k nevybaveným transakciám a požiadavkám, ktoré znižujú výkon systému a môžu spôsobiť zastavenie práce.

Ak v prostredí dochádza k vypršaniu časového limitu alebo zníženému výkonu, keď prebiehajú synchrónne kaskádové operácie, pre vaše prostredie by mohlo byť prínosom povolenie asynchrónneho režimu. Hlavné rozdiely medzi režimami sú popísané v nasledujúcej tabuľke.

Synchrónny režim Nesynchrónny režim
Na celej sade vybraných záznamov (priamych alebo kaskádových) nie je možné vykonávať žiadne ďalšie úlohy, kým nie je kaskádová operácia dokončená. Pre priradenie, vymazanie a zlúčenie sú kaskádové zmeny dávkové, pričom sa zamykajú iba záznamy spracovávané v rámci dávky. To umožňuje vykonávanie ďalších úloh počas celej kaskádovej zmeny.
Po dokončení úlohy všetky údaje ukazujú novú požadovanú hodnotu. Po spustení úlohy sa v každej dokončenej dávke zobrazí požadovaná hodnota. To znamená, že je čas, keď niektoré údaje zobrazujú požadovanú hodnotu a niektoré zobrazujú pôvodnú hodnotu, kým sa nedokončí úplná operácia. Toto sa označuje ako „prípadná konzistencia“.
Ak jeden záznam zlyhá, všetky údaje sa vrátia späť na pôvodnú hodnotu. Vrátenie späť vyžaduje opätovnú úpravu všetkých dokončených záznamov, čo si vyžaduje viac času. Ak jedna úloha zlyhá, opakuje sa opakovane, aby sa dokončila. Ak úlohu nemožno dokončiť, zlyhanie sa zaznamená v oblasti Systémové úlohy . Upozorňujeme, že úspešne dokončené záznamy si zachovajú novú hodnotu.
Ak má jeden zo záznamov v kaskádovom zozname hodnotu, ktorá sa líši od očakávanej hodnoty, úloha zlyhá a bude vrátená späť. Predpokladajme napríklad, že počiatočný záznam patrí Vlastníkovi 1 a kaskádová operácia ho chce zmeniť na Vlastníka 2. Ak sa jeden zo súvisiacich záznamov po prúde zmenil na Vlastník 3 alebo sa odstráni skôr, ako dôjde k uzamknutiu, celá úloha sa vráti späť. V prípade funkcie Priradiť operácia vždy funguje v režime prepisovania, pričom sa aktuálna hodnota mení na novú hodnotu na základe vzťahu rodič-dieťa. Neexistujú žiadne zlyhania úlohy kvôli pôvodnému nesúladu hodnoty. V prípade Delete, ak chýba záznam, ktorý sa očakával ako súčasť sady, všetky záznamy až do bodu zlyhania sa považujú za dokončené. Používateľ alebo správca môže znova vykonať neúspešnú úlohu, čím sa úloha prepočíta, aby pokračovala bez chýbajúceho záznamu. V prípade zlúčenia, ak sa vyskytne problém s chýbajúcim záznamom, úloha sa zopakuje a vykoná sa bez chýbajúceho záznamu.

Asynchrónny režim a doplnky

Keď kaskádová transakcia dosiahne prah pre zahrnuté záznamy a k záznamom nie sú priradené žiadne doplnky, záznamy sa spracujú asynchrónne.

Operácia Prah
Priradiť 1000 záznamov
Delete 10 000 záznamov
Zlúčenie 1000 záznamov

Ak je k záznamu v rámci asynchrónnej dávky priradený doplnok, aktualizácia alebo vymazanie jedného záznamu spolu so všetkými súvisiacimi doplnkami pre tento záznam prebehne synchrónne. To nastane ako súčasť transakcie pred prechodom na ďalší záznam v asynchrónnej dávke.

Ak doplnok v rámci asynchrónnej transakcie spustí nové kaskádové vymazanie alebo priradenie, nová kaskádová transakcia sa vždy spustí synchrónne v rámci aktuálnej asynchrónnej transakcie. Tým sa zabráni tomu, aby existovalo viac vrstiev asynchrónnych transakcií.

Sledovanie priebehu asynchrónnej operácie.

Správcovia môžu monitorovať spracovanie asynchrónnych operácií v oblasti Nastavenia.

  1. Prihláste sa do Power Platform centra spravovania.

  2. Vyberte položku Prostredia v navigačnej oblasti. Potom vyberte požadované prostredie.

  3. Vyberte možnosť Nastavenia, rozbaľte možnosť Audit a denníky a potom vyberte možnosť Systémové úlohy.

  4. Kaskádové operácie sa zobrazujú v zobrazení Systémové úlohy .

    Cascade Operations view.

    Ak si chcete zobraziť iba kaskádové operácie, v selektore Zobrazenie vyberte Kaskádové operácie.

    Výber zobrazenia kaskádových operácií.

Kaskádové operácie majú ktorýkoľvek z nasledujúcich stavov:

  • Dokončené: Všetky dávky kaskádovej transakcie boli úspešne dokončené.
  • Prebieha: Prebiehajú kaskádové zmeny.
  • Zlyhalo: Po viacerých pokusoch niektoré kaskádové zmeny zlyhali.

Poznámka

Nie je možné zrušiť asynchrónnu kaskádovú úlohu. Musíte počkať, kým sa dokončí, čo sa naznačí zobrazením stavu Dokončený alebo Neúspešný.

Zobrazí sa otvorenie kaskádovej operácie:

  • Koľko opakovaní sa vyskytlo pre konkrétnu transakciu.

  • Vytvorené a dokončené dátumy a časy.

  • Kto vytvoril úlohu.

  • Akékoľvek správy spojené s úlohou, napríklad príčiny zlyhania alebo výnimky.

    Záznam kaskádovej prevádzky.

Ktoré kaskádové transakcie je možné spracovávať asynchrónne?

Priradenie, odstránenie a zlúčenie kaskádových transakcií je možné spracovať asynchrónne.

Poznámka

Ostatné transakcie, ako napríklad zdieľanie/zrušenie zdieľania, zobrazenie súhrnu a opätovné nadradené transakcie, sú v súčasnosti predmetom kontroly asynchrónneho spracovania.

Riešenie problémov s asynchrónnymi podradenými operáciami

Keď synchrónne kaskádové úlohy zlyhajú, zastavia sa a vrátia späť všetky zmeny, takže žiadny zo záznamov neobsahuje požadované zmeny. Môže to byť časovo náročný proces, pretože vrátenie môže trvať rovnako dlho ako pôvodný pokus a opakovanie operácie začína znova od prvého záznamu.

Ak dôjde k zlyhaniu, asynchrónne operácie sa opakujú niekoľkokrát. Vo väčšine prípadov je opätovný pokus o spustenie úlohy úspešný a úloha môže pokračovať. V niektorých zriedkavých prípadoch opätovný pokus problém nevyrieši. Keď sa to stane, asynchrónna úloha sa pozastaví a správca a používateľ môžu problém vyriešiť a obnoviť úlohu od bodu, kde bola pozastavená.

Bežné príčiny porúch v kaskádových operáciách

Medzi bežné dôvody zlyhania pri spracovaní kaskádových operácií patria:

  • Výnimky zásuvných modulov
  • Bezpečnostné výnimky

Výnimky zásuvných modulov

Zásuvné moduly sa pridávajú do spracovania kaskádových operácií na vykonanie konkrétnych akcií, keď sa v zázname vykonajú zmeny, ako je odoslanie e-mailu alebo spustenie inej aktualizácie iných záznamov. Môžu byť poskytované tretími stranami alebo vyvinuté interne. Ak doplnok vygeneruje výnimku, kaskádová operácia zlyhá. V závislosti od dôvodu výnimky môže problém vyriešiť opakovaný pokus. Ak je úloha asynchrónnej kaskády pozastavená v dôsledku zlyhaní, overte platnosť všetkých doplnkov, ktoré sú priradené k operáciám, aby ste sa uistili, že negenerujú výnimky. Po vyriešení problému je možné v úlohe pokračovať.

Bezpečnostné výnimky

Výnimky zabezpečenia sa vyskytnú, keď používateľ, ktorý vykonal kaskádovú operáciu, nemá dostatočné oprávnenie na vykonanie zmeny v jednom alebo viacerých záznamoch, je deaktivovaný alebo odstránený zo systému.

Ak je používateľ stále v systéme, overte, či má potrebné privilégiá na úpravu záznamov a či má povolenie na vykonanie zadaných akcií. Keď sa to vyrieši, pokračujte v úlohe.

Ak bol používateľ zakázaný alebo odstránený zo systému, opätovným povolením alebo opätovným pridaním používateľa sa problém vyrieši a úloha sa môže obnoviť. Ak však používateľ musí byť odstránený alebo deaktivovaný, alebo ak nemá mať povolenie na akcie alebo záznamy, úlohu je trbea zrušiť a obnoviť niekým s príslušnými povoleniami.

V prípade akýchkoľvek ďalších problémov s neúspešnými úlohami kontaktujte podporu spoločnosti Microsoft. Ďalšie informácie: Prehľad podpory

Riešenie problémov s odstránením súborov počas kaskádového zlúčenia

Ak narazíte na zlyhanie pri operáciách kaskádového zlúčenia, z dôvodu vymazania súborov počas spustenia úlohy, môžete preskočiť rodičovskú kontrolu. To umožňuje pokračovanie zlúčenia, aj keď niekto odstráni záznam z množiny, zatiaľ čo úloha beží na pozadí. Keď sa rozhodnete zlúčiť záznamy, v spodnej časti zlučovacieho okna zrušte Kontrola rodičovstva je predvolene povolená. Zrušte začiarknutie tohto políčka, ak chcete ignorovať možnosť kontroly rodičovstva .

Dialógové okno Zlúčiť záznamy.

Príklad zlúčenia záznamov

Predstavte si, že máte účty so vzťahom ku kontaktu, ktorý má vzťah k objednávkam. Chcete zlúčiť záznamy dvoch účtov.

Ak sa úloha úspešne spustí, príkaz Zlúčiť priradí všetky súvisiace kontakty a ich objednávky k cieľovému účtu.

Ak počas procesu zlučovania záznamov iný používateľ odstráni súvisiaci záznam kontaktu, ale stále existujú záznamy objednávky súvisiace so záznamom kontaktu, úloha zlúčenia zlyhá, pretože chýba nadradený záznam podriadeného záznamu. Ak sa rozhodnete preskočiť kontrolu rodičovstva počas zlučovania záznamov, objednávky s chýbajúcim záznamom kontaktu sa zlúčia do záznamu cieľového účtu. K cieľovému účtu však nie sú priradené žiadne súvisiace záznamy kontaktov a úloha sa dokončí.

Zlúčenie spôsobujúce zámky, ktoré bránia ďalším zmenám prístupu

Operácia Cascade Merge udeľuje prístup novému vlastníkovi podradenej tabuľky. Za týmto účelom operácia Cascade Merge sprístupní a vykoná zmeny v tabuľke hlavných objektov, ktoré vyžadujú zámok. Ak operácia zlúčenia obsahuje veľa záznamov (na základe kaskádového vzťahu), tento zámok by mohol byť na mieste dlhšiu dobu. Mohlo by to viesť k chybe, ak sa operácia pokúsi udeliť alebo zrušiť prístup k nesúvisiacemu záznamu počas spustenia zlúčenia. Ak k tomu dôjde, skúste zlúčenie vykonať mimo pracovných hodín, aby bolo možné blokovanie znížiť.

Pozrite si tiež

Prehľad vzťahov tabuľky