Tabella AsyncOperationBase

La tabella AsyncOperationBase viene utilizzata per archiviare i processi di sistema. I processi di sistema rappresentano estensioni asincrone, come:

  • Flussi di lavoro e plug-in asincroni e registrati.
  • Operazioni in background, ad esempio operazioni in blocco, processi di eliminazione, importazione in blocco e operazioni di rollup.

Per un elenco dei tipi di operazioni asincrone, vedi Scelte/opzioni OperationType.

Una volta che si verifica un evento e tutte le estensioni immediate vengono eseguite, il sistema converte quindi i dati di contesto per qualsiasi estensione asincrona in un formato strutturato e lo memorizza in un record AsyncOperation.

Ad esempio, di flusso di lavoro asincrono e registrato potrebbe essere un processo che invia automaticamente un'e-mail a un cliente una volta effettuato l'ordine. Il flusso di lavoro prosegue con un'altra e-mail quando l'ordine viene spedito. In un flusso di lavoro asincrono e registrato, la piattaforma salva il contesto del flusso di lavoro asincrono come record nella tabella AsyncOperationBase. Un log del processo WorkflowLog viene registrato nella tabella WorkflowLogBase per mantenere i log per l'esecuzione del flusso di lavoro.

Questi record includerebbero informazioni quali:

  • ID del flusso di lavoro

  • ID del plug-in che attiva il flusso di lavoro

  • Stato dell'esecuzione del flusso di lavoro

Questa tabella include tutte le colonne di attività predefinite come nome, descrizione, tipo, tipo di operazione e altro.

Per un elenco completo delle colonne in questa tabella, vedi riferimento alla tabella/entità del processo di sistema (AsyncOperation).

Dal 2021, la porzione di dati delle operazioni asincrone è passata dall'archiviazione nella capacità del database Dataverse all'archiviazione nella capacità del file Dataverse. Di conseguenza, le dimensioni dei dati nelle operazioni asincrone parzialmente attribuite alla capacità del database Dataverse e in parte alla capacità del file Dataverse. Passando alla capacità file Dataverse, i costi sono stati ridotti poiché la capacità del file Dataverse viene addebitata a una tariffa inferiore rispetto alla capacità del database Dataverse. Inoltre, la capacità del file Dataverse migliora le prestazioni complessive poiché le query sulla tabella Operazioni asincrone sono più performanti.

Cause della crescita

La crescita della tabella AsyncOperationBase dipende direttamente dal numero di personalizzazioni su cui si basa l'ambiente del cliente. Più flussi di lavoro e plug-in sono asincroni, più comportano l'archiviazione di un numero maggiore di record nella tabella AsyncOperationBase per tenere traccia dell'esecuzione di queste operazioni.

Se la tua organizzazione fa un uso intenso di flussi di lavoro o plug-in, la tabella AsyncOperationBase sarà una dei maggiori consumatori di capacità di dati.

Se le dimensioni di AsyncOperationBase continuano a crescere nel tempo, verifica che sia impostata l'opzione di eliminazione automatica sulle registrazioni asincrone (vedi come impostare questa opzione per flussi di lavoro e plug-in nella sezione appendice). Ciò comporta che tutti i lavori completati con successo vengano eliminati non appena vengono completati; in questo modo si mantengono sotto controllo le dimensioni della tabella.

Alcuni fattori comuni che contribuiscono alla crescita della tabella AsyncOperationBase in Dynamics 365 includono:

  • Uso intenso di flussi di lavoro o di processi aziendali: se un'organizzazione fa un uso intenso di flussi di lavoro o diflussi di processi aziendali, la tabella AsyncOperationBase aumenterà nel tempo e alla fine diventerà sufficientemente grande da presentare problemi di prestazioni.

  • Registrazioni di plug-in asincrone su entità di grandi dimensioni: se sono presenti registrazioni di plug-in asincrone su entità di grandi dimensioni, come gli allegati, la porzione di dati delle operazioni asincrone può crescere rapidamente, portando a una grande tabella AsyncOperationBase.

  • Dimensioni della porzione di dati delle operazioni asincrone: anche le dimensioni della porzione di dati delle operazioni asincrone può contribuire alla crescita della tabella AsyncOperationBase.

Pulizia tabella

È necessario testare prima queste azioni di eliminazione in un ambiente sandbox. Per alleviare la pressione sulla capacità operativa, potrebbe essere più opportuno aumentare lo spazio di archiviazione associato alla sottoscrizione di Microsoft Dynamics 365, invece di ridurre l'importo dello spazio di archiviazione utilizzato.

Avviso

Per ridurre il consumo di capacità della tabella AsyncOperationBase, elimina i metadati personalizzati relativi ai processi asincroni. Quando le entità AsyncOperation vengono eliminate, vengono eliminati anche i record dei file corrispondenti.

Questi record non saranno più disponibili dopo la cancellazione. Procedere con cautela quando si eseguono operazioni di eliminazione in blocco.

Prima di eliminare qualsiasi dato in questa tabella:

  • Controlla le tue personalizzazioni sui flussi di lavoro e sui plug-in in esecuzione sulle operazioni di eliminazione.

  • Esamina i comportamenti di eliminazione a catena per assicurarti che nessun dato venga eliminato involontariamente durante il processo.

  • Testa queste azioni in un ambiente sandbox prima di procedere con l'operazione di eliminazione finale.

Tutti gli ambienti sono configurati con un processo di eliminazione in blocco predefinito per eliminare i processi di sistema del flusso di lavoro completati con successo più vecchi di 30 giorni.

Per ridurre la capacità aggiuntiva associata alla tabella AsyncOperationBase, valuta la possibilità di configurare processi del sistema di flusso di lavoro più vecchi di 7 giorni da eliminare utilizzando eliminazione dei processi in blocco.

Query di diagnostica

Utilizza query di diagnostica per diagnosticare i problemi relativi ai lavori relativi a AsyncOperationBase.

Utilizzare le seguenti query per diagnosticare i problemi relativi all'archiviazione di file AsyncOperationBase.

Stato del processo di sistema

Per accedere alla pagina Processi di sistema, utilizzare i seguenti passaggi.

  1. Accedi all'interfaccia di amministrazione di Power Platform.
  2. Nel riquadro di spostamento seleziona Gestisci.
  3. Nel riquadro Gestisci, seleziona Ambienti.
  4. Seleziona l'ambiente.
  5. Selezionare Impostazioni sulla barra dei comandi.
  6. Seleziona Controllo e registri>Processi di sistema.

I processi di sistema hanno il seguente stato:

  • Completato: il processo non esegue più alcun passaggio e fornisce tre possibili motivi di stato:

    • Riuscito: il processo ha fatto ciò che ci si aspettava.

    • Non riuscito: si è verificato un errore durante l'elaborazione del lavoro.

    • Annullato: il lavoro non verrà eseguito.

  • In esecuzione: il lavoro è in fase di elaborazione o esecuzione oppure è in corso un'azione e sono disponibili tre valori motivo stato possibili:

    • In corso: il processo è attualmente in esecuzione.

    • Pausa: è stata attivata un'operazione di pausa.

    • Annullamento: l'amministratore ha attivato l'opzione di annullamento.

  • In sospeso: quando il processo di sistema non ha soddisfatto le condizioni per essere attivato automaticamente o si è verificato un errore nella valutazione delle condizioni. Esistono due motivi di stato nello scenario in sospeso:

    • In attesa: indica che il processo di sistema è in stato di attesa.

    • In attesa di risorse: indica che il processo di sistema è in attesa di una risorsa.

Nota

I processi in esecuzione o in sospeso non devono essere puliti automaticamente. Dovrebbe invece essere attivata un'azione manuale di annullamento.

I clienti possono configurare l'eliminazione in blocco aggiuntiva per eliminare i record AsyncOperationBase.

Configurare l'eliminazione dei processi in blocco

Per configurare le eliminazioni di processi in blocco, vedi i seguenti elenchi.

Eliminazione completata, i processi di sistema più vecchi di sette giorni

  1. Accedi all'interfaccia di amministrazione di Power Platform.

  2. Nel riquadro di spostamento seleziona Gestisci.

  3. Nel riquadro Gestisci, seleziona Ambienti.

  4. Seleziona l'ambiente.

  5. Selezionare Impostazioni sulla barra dei comandi.

  6. Seleziona Gestione dati>Eliminazione in blocco>Nuovo.

  7. Viene visualizzata la Procedura guidata per l'eliminazione in blocco. Seleziona Avanti.

  8. La pagina Definisci i criteri di ricerca viene visualizzata. Per eliminare in blocco i record AsyncOperationBase, completa i seguenti passaggi:

    1. Nel campo Cerca, seleziona Processi di sistema.

    2. Immetti i seguenti criteri:

      Raggruppa Impostazione Criteri Valori selezionati
      E Status È uguale a Completi
      E Data di completamento Più vecchio di X giorni 7

      Inizia sempre con una condizione ristretta che limiti i record eliminati (più vecchi di 3 anni), quindi passa a criteri di eliminazione progressivamente più ampi (più vecchi di 3 mesi ) e poi a criteri di eliminazione più ampi (più vecchi di 7 giorni).
      E Tipo processo di sistema Diverso da Invio di messaggi e-mail in blocco
      Analisi file di importazione
      Workflow
  9. Seleziona Anteprima record per visualizzare i record che verranno eliminati dai criteri di ricerca specificati per assicurarsi che nessun dato venga eliminato involontariamente durante il processo. Quindi, seleziona Avanti.

  10. Nella pagina Seleziona opzioni, seleziona l'opzione Esegui questo lavoro dopo ogni, quindi seleziona 7 giorni. Quindi, seleziona Avanti.

  11. Nella pagina Rivedi e invia i dettagli di eliminazione in blocco, seleziona Invia.

Per ulteriori informazioni su come configurare i processi di eliminazione in blocco per la tabella AsyncOperationBase, vedi Pulizia dei record dalla tabella AsyncOperationBase/WorkflowLogBase.

Elimina i lavori di sistema completati destinati ai flussi di lavoro

  1. Accedi all'interfaccia di amministrazione di Power Platform.

  2. Nel riquadro di spostamento seleziona Gestisci.

  3. Nel riquadro Gestisci, seleziona Ambienti.

  4. Seleziona l'ambiente.

  5. Selezionare Impostazioni sulla barra dei comandi.

  6. Seleziona Gestione dati>Eliminazione in blocco>Nuovo.

  7. Viene visualizzata la Procedura guidata per l'eliminazione in blocco. Seleziona Avanti.

  8. La pagina Definisci i criteri di ricerca viene visualizzata. Per eliminare in blocco i record AsyncOperationBase, completa i seguenti passaggi:

    1. Nel campo Campo Cerca, seleziona Processi di sistema.

    2. Immetti i seguenti criteri:

      Raggruppa Impostazione Criteri Valori selezionati
      E Motivo stato È uguale a Operazione riuscita
      E Status È uguale a Completi
      E Tipo processo di sistema È uguale a Workflow
  9. Seleziona Anteprima record per visualizzare i record che verranno eliminati dai criteri di ricerca specificati per assicurarsi che nessun dato venga eliminato involontariamente durante il processo. Quindi, seleziona Avanti.

  10. Nella pagina Seleziona opzioni, seleziona l'opzione Esegui questo lavoro dopo ogni, quindi seleziona 7 giorni. Quindi, seleziona Avanti.

  11. Nella pagina Rivedi e invia i dettagli di eliminazione in blocco, seleziona Invia.

Appendice

Per ulteriori informazioni su come impostare il flusso di lavoro e i lavori plug-in, fai riferimento alle sezioni seguenti.

Imposta l'opzione per eliminare i processi di flusso di lavoro asincroni completati con successo

Per i flussi di lavoro, è consigliabile selezionare l'opzione Elimina automaticamente processi del flusso di lavoro completati per risparmiare spazio su disco nell'editor del flusso di lavoro. In questo modo, il sistema può eliminare i registri dei flussi di lavoro relativi alle esecuzioni completate per risparmiare spazio su disco.

Impostare il processo del flusso di lavoro per eliminare automaticamente processi del flusso di lavoro completati.

Imposta l'opzione per eliminare i processi di plug-in asincroni completati con successo

  1. Installa l'interfaccia della riga di comando di Microsoft Power Platform

  2. Scarica e avvia lo strumento di registrazione dei plug-in

  3. Per i plug-in personalizzati, seleziona Registra nuovo passaggio. Viene visualizzata la schermata Registra nuovo passaggio.

  4. Completa i passaggi seguenti:

    1. Nell'area Fase pipeline eventi, seleziona Post operazione.
    2. Nell'area Modalità di esecuzione, seleziona Asincrono.
    3. Seleziona l'opzione Elimina operazione asincrona se Codice di stato = Operazione riuscita.

Imposta Elimina AsyncOperation se Codice di stato = Operazione riuscita

Vedi anche