Procesarea asincronă a tranzacțiilor în cascadă

Anumite tranzacții pot fi configurate în cascadă în toate înregistrările conexe. Aceasta înseamnă că modificarea unei înregistrări părinte este tranzacționată asupra (în cascadă prin) tuturor înregistrărilor copil. Relațiile în cascadă sunt configurate la nivel de tabel. Pentru mai multe informații despre relațiile în cascadă, consultați Configurați comportamentul în cascadă a relației de tabel.

Moduri sincrone vs. asincrone

În mod implicit, operațiunile în cascadă sunt efectuate ca o tranzacție sincronă. Pentru o tranzacție în cascadă sincronă, toate înregistrările afectate sunt identificate de sistem. Pe măsură ce înregistrările sunt procesate, acestea sunt blocate de sistem. După finalizarea tuturor modificărilor, înregistrările sunt deblocate și tranzacția este finalizată.

Tranzacțiile sincrone cu un număr mare de înregistrări pot cauza probleme de performanță pentru medii atunci când tranzacțiile cu rulare lungă eșuează din cauza expirării serverului. Înregistrările sunt blocate, împiedicând executarea altor joburi și tranzacții ale utilizatorilor care operează pe aceleași înregistrări. De asemenea, tranzacțiile care rulează mult timp pot duce la o acumulare de tranzacții și solicitări în așteptare, ceea ce reduce performanța sistemului și poate cauza întreruperea lucrului.

Dacă un mediu se confruntă cu intervale de timp sau cu performanțe degradate în timp ce operațiile în cascadă sincrone sunt în desfășurare, mediul dvs. ar putea avea beneficii prin activarea modului asincron. Principalele diferențe dintre moduri sunt descrise în tabelul următor.

Modul sincron Modul asincron
Nicio altă lucrare nu poate fi executată pe întregul set de înregistrări selectate (directe sau în cascadă) până la finalizarea operațiunii în cascadă. Pentru Atribuire, Ștergere și Îmbinare, modificările în cascadă sunt procesate în lot, blocând doar înregistrările procesate în cadrul lotului. Acest lucru permite executarea altor lucrări în timpul operației de schimbare completă în cascadă.
La finalizarea lucrării, toate datele arată noua valoare dorită. Pe măsură ce operațiunea rulează, fiecare lot completat afișează valoarea dorită. Aceasta înseamnă că există un moment în care unele date arată valoarea dorită, iar altele arată valoarea inițială, până la finalizarea operațiunii complete. Aceasta se numește „consistență eventuală”.
Dacă o singură înregistrare eșuează, toate datele sunt redate la valoarea inițială. Revenirea necesită reeditarea tuturor înregistrărilor completate, ceea ce durează mai mult timp. Dacă o singură operațiune nu reușește, este încercată de mai multe ori pentru a realiza finalizarea. Dacă jobul nu poate fi finalizat, eroarea este înregistrată în zona Joburi de sistem . Observați că înregistrările finalizate cu succes păstrează noua valoare.
Dacă una dintre înregistrările din lista în cascadă are o valoare diferită de valoarea așteptată, jobul eșuează și este anulat. De exemplu, să presupunem că înregistrarea inițială aparține lui Proprietar 1 și operațiunea în cascadă dorește să o schimbe în Proprietar 2. Dacă una dintre înregistrările conexe din aval s-a modificat în Proprietar 3 sau este ștersă înainte de apariția blocării, întregul job este anulat. Pentru Assign, operația funcționează întotdeauna în modul de suprascriere, schimbând valoarea curentă cu noua valoare pe baza relației părinte-copil. Nu există erori de operațiune din cauza unei nepotriviri a valorii originale. Pentru ștergere, dacă o înregistrare care era așteptată să facă parte din set lipsește, toate înregistrările până la punctul de eroare sunt considerate finalizate. Utilizatorul sau administratorul poate reexecuta jobul eșuat, ceea ce recalculează jobul pentru a continua fără înregistrarea lipsă. Pentru Merge, dacă există o problemă cu o înregistrare lipsă, jobul este reluat și executat fără înregistrarea lipsă.

Modul asincron

Când o tranzacție în cascadă atinge pragul pentru înregistrările incluse, înregistrările sunt procesate asincron,

Operație Prag
Atribuire 1000 de înregistrări
Șterge 5,000 de înregistrări
Îmbinare 1000 de înregistrări

Urmărirea progresului operațiunii asincrone

Administratorii pot monitoriza procesarea operațiunilor asincrone din domeniul Setări.

  1. Conectați-vă la Centrul de administrare Power Platform.

  2. În panoul de navigare, selectați Gestionare.

  3. În panoul Gestionați , selectați Medii.

  4. Pe pagina Medii , selectați un mediu.

  5. Selectați Setări>Audit și jurnale>Lucrări de sistem.

  6. Operațiunile în cascadă sunt afișate în vizualizarea System Jobs .

    Vizualizare Operațiuni în cascadă.

    Pentru a vizualiza numai operațiuni în cascadă, în selectorul Vizualizare, selectați Operațiuni în cascadă.

    Selector de vizualizare Operațiuni în cascadă.

Operațiunile în cascadă au oricare dintre următoarele stări:

  • Finalizat: Toate loturile tranzacției în cascadă au fost finalizate cu succes.
  • În curs: Modificările în cascadă sunt în curs de desfășurare.
  • Eșuat: După mai multe reîncercări, unele dintre modificările în cascadă au eșuat.

Notă

Nu este posibil să anulați o operațiune în cascadă asincronă. Trebuie să așteptați să se finalizeze, indicând starea Finalizat sau Eșuat.

Deschiderea unei operații în cascadă afișează:

  • Câte încercări au avut loc pentru tranzacția particulară.

  • Date și ore create și completate.

  • Cine a creat operațiunea.

  • Orice mesaje asociate cu operațiunea, precum motive de eșec sau excepții.

    Înregistrarea operațiunilor în cascadă.

Ce tranzacții în cascadă pot fi procesate în mod asincron?

Alocarea, ștergerea și îmbinarea tranzacțiilor în cascadă pot fi procesate asincron.

Notă

Alte tranzacții, cum ar fi partajarea/anularea partajării, vizualizarea cumulată și redefinirea atributelor parentale, sunt în prezent în curs de verificare pentru procesare asincronă.

Depanarea problemelor cu operațiuni în cascadă asincrone

Când joburile în cascadă sincrone eșuează, acestea se opresc și anulează toate modificările, astfel încât niciuna dintre înregistrări să nu includă modificările solicitate. Acesta poate fi un proces consumator de timp, deoarece revenirile pot dura la fel de mult ca încercarea inițială, iar reîncercarea operațiunii începe din nou de la prima înregistrare.

Operațiunile asincrone se reîncercă de mai multe ori, dacă apare o eroare. În cele mai multe cazuri, reîncercarea operațiunii are ca rezultat succesul, iar operațiunea poate continua până la finalizare. În unele cazuri rare, reîncercarea nu rezolvă problema. Când se întâmplă acest lucru, jobul asincron se întrerupe, iar administratorul și utilizatorul pot depana problema și relua jobul din punctul în care s-a întrerupt.

Cauzele frecvente ale defecțiunilor în operațiuni în cascadă

Motivele comune pentru eșecul procesării operațiunilor în cascadă includ:

  • Excepții ale pluginurilor
  • Excepții de securitate

Excepții ale pluginurilor

Plug-in-urile sunt adăugate la procesarea operațiunilor în cascadă pentru a întreprinde acțiuni specifice atunci când se fac modificări la o înregistrare, cum ar fi trimiterea unui e-mail sau declanșarea unei actualizări diferite asupra altor înregistrări. Acestea pot fi furnizate de terți sau dezvoltate intern. Dacă un plugin generează o excepție, operațiunea în cascadă eșuează. În funcție de motivul excepției, o reîncercare poate rezolva problema. Dacă jobul asincron în cascadă este pus în pauză din cauza unor erori, validați toate pluginurile asociate cu operațiunile pentru a vă asigura că nu generează excepții. Odată remediată, operațiunea poate fi reluată.

Excepții de securitate

Excepții de securitate apar atunci când utilizatorul care a executat operațiunea în cascadă are privilegii insuficiente pentru a efectua o modificare la una sau mai multe înregistrări sau utilizatorul este dezactivat sau eliminat din sistem.

Dacă utilizatorul este încă în sistem, verificați dacă are privilegiile necesare pentru a modifica înregistrările și dacă are permisiunea de a executa acțiunile specificate. După ce se rezolvă această problemă, reluați lucrarea.

Dacă utilizatorul a fost dezactivat sau eliminat din sistem, reactivarea sau readăugarea utilizatorului rezolvă problema și jobul poate fi reluat. Cu toate acestea, dacă utilizatorul trebuie șters sau dezactivat sau nu ar trebui să aibă permisiuni pentru acțiuni sau înregistrări, operațiunea ar trebui anulată și repornită de către cineva cu permisiunile corespunzătoare.

Pentru orice alte probleme cu operațiuni eșuate, contactați asistența Microsoft. Mai multe informații: Prezentare generală a asistenței

Depanarea problemelor de ștergere a fișierelor în timpul îmbinării în cascadă

Dacă întâmpinați eșecuri cu operațiunile de îmbinare în cascadă, deoarece fișierele sunt șterse în timpul executării operațiunii, puteți sări peste verificarea parentală. Aceasta permite ca îmbinarea să continue, chiar dacă cineva șterge o înregistrare din set în timp ce operațiunea rulează în fundal. Când alegeți să îmbinați înregistrări, în partea de jos a ferestrei de îmbinare, debifați opțiunea Verificarea parentingului este activată în mod implicit. Debifați această opțiune pentru a ignora opțiunea verificarea parentingului.

Caseta de dialog Îmbinare înregistrări.

Exemplu de îmbinare înregistrare

Imaginați-vă că aveți conturi cu o relație cu contactul, care are o relație cu comenzile. Doriți să îmbinați două înregistrări de cont.

Dacă operațiunea rulează cu succes, îmbinarea atribuie toate contactele aferente și comenzile acestora contului țintă.

Dacă în timpul procesului de îmbinare a înregistrărilor, un alt utilizator șterge o înregistrare de contact asociată, dar există încă înregistrări de comandă asociate cu înregistrarea de contact, procesul de îmbinare eșuează deoarece lipsește un părinte al unei înregistrări copil. Dacă alegeți să omiteți verificarea parentală în timpul îmbinării înregistrărilor, comenzile cu înregistrarea de contact lipsă sunt îmbinate în înregistrarea contului țintă. Totuși, nicio înregistrare de contact corelată nu este atribuită contului țintă, iar lucrarea se finalizează.

Îmbinarea produce blocări care împiedică alte modificări de acces

Operațiunea Îmbinați în cascadă acordă acces noului proprietar al tabelului subordonat. Pentru a face acest lucru, operațiunea Cascade Merge accesează și efectuează modificări la tabelul de obiecte principale care necesită o blocare. Dacă o operațiune de îmbinare conține mai multe înregistrări (bazate pe relația cascadă), această blocare ar putea fi activă pentru o perioadă extinsă de timp. Aceasta ar putea duce la o eroare dacă o operațiune încearcă să acorde sau să revoce accesul la o înregistrare fără legătură în timp ce îmbinarea rulează. Dacă se întâmplă acest lucru, încercați să executați îmbinarea în orele libere, astfel încât blocarea să poată fi redusă.

Consultați și

Prezentare generală a relațiilor din tabel