Udostępnij przez


Usuwanie ukończonych zadań systemowych i dziennika procesów w celu zachowania zgodności z zasadami przechowywania

Zarządzanie ukończonymi zadaniami systemu i logami procesów ma kluczowe znaczenie dla zachowania zgodności z przepisami dotyczącymi prywatności danych i zapewnienia optymalnej wydajności systemu w usłudze Dataverse.

Tabela AsyncOperation zadań systemowych przechowuje zadania systemowe. Rzeczywista nazwa tabeli bazy danych to AsyncOperationBase. Zadania systemowe reprezentują operacje asynchroniczne, w tym zarejestrowane przepływy pracy, wtyczki i operacje w tle, takie jak usuwanie zbiorcze, import zbiorczy i operacje podsumowujące.

Po uruchomieniu asynchronicznego przepływu pracy w organizacji Dataverse, rekord zostaje utworzony w tabeli AsyncOperation w celu śledzenia postępu. W tabeli Dziennik procesu (WorkflowLog) tworzonych jest więcej rekordów w celu przechowywania dzienników wykonania przepływu pracy. Rzeczywista nazwa tabeli bazy danych dla tych dzienników to WorkflowLogBase. Przepływy procesów biznesowych przechowują również dzienniki przejść etapów i akcji w tabeli WorkflowLog.

Za każdym razem, gdy zadanie systemowe zostanie ukończone, jego wynik jest rejestrowany jako zadanie systemowe w rekordzie AsyncOperation. Ukończone zadania systemowe to rekordy, które przechwytują wyniki tych różnych zautomatyzowanych operacji w usłudze Dataverse. W miarę upływu czasu te rekordy gromadzą się i, jeśli nie są zarządzane, mogą mieć wpływ na magazyn i wydajność systemu.

Jeśli Twoja organizacja w dużym stopniu opiera się na przepływach pracy lub przepływach procesów biznesowych, powiązane tabele mogą z czasem znacznie się rozrosnąć, co może prowadzić do pogorszenia wydajności i nadmiernego zużycia pamięci masowej bazy danych.

Typy ukończonych zadań systemowych i ich stanów

Zadania systemowe

  • Usuń rekordy dziennika śledzenia wtyczki
  • Usuwanie ukończonych zadań systemowych
  • Usuń zakończone sesje procesów dla przepływów pracy synchronizacji

Ukończone zadania systemowe są podzielone na trzy główne typy na podstawie ich stanu ukończenia:

  • Powodzenie: zadania, które zostały ukończone pomyślnie bez błędów.
  • Niepowodzenie: zadania, które napotkały błędy i nie zostały ukończone zgodnie z oczekiwaniami.
  • Anulowano: zadania, które zostały zatrzymane przed zakończeniem, przez interwencję użytkownika lub ograniczenia systemowe.

Usługa usuwania w celu automatycznego usunięcia ukończonych zadań systemowych

Domyślnie system udostępnia usługę usuwania umożliwiającą automatyczne usuwanie zadań systemowych, które zakończyły się pomyślnie, nie powiodły się lub zostały anulowane. Wartość domyślna jest ustawiona w narzędziu OrganizationSettingsEditor i można go zmienić za pomocą narzędzia lub na stronie Ustawienia środowiska .

Aktualizowanie zasad przechowywania przy użyciu elementu OrganizationSettingsEditor

Aby sprawdzić to ustawienie:

  1. Zainstaluj narzędzie OrganizationSettingsEditor.
  2. Dodaj i edytuj element EnableSystemJobCleanup.
  3. Ustaw wartość EnableSystemJobCleanup na wartość "true" (jeśli ta wartość nie jest jeszcze ustawiona na true).

Ustawianie zasad przechowywania

Istnieją trzy parametry umożliwiające ustawienie różnych okresów przechowywania.

  • SucceededSystemJobPersistenceInDays dla zadań zakończonych pomyślnie.

  • FailedSystemJobPersistenceInDays dla zadań, które zakończyły się niepowodzeniem.

  • CancelledSystemJobPersistenceInDays dla anulowanych zadań.

Aktualizowanie zasad przechowywania przy użyciu strony Ustawienia środowiska (wersja zapoznawcza)

[Ta sekcja jest dokumentacją wersji wstępnej i może ulec zmianie.]

Ważne

  • Jest to funkcja w wersji zapoznawczej.
  • Funkcje w wersji zapoznawczej nie są przeznaczone do użytku produkcyjnego i mogą mieć ograniczone funkcje. Te funkcje podlegają dodatkowym warunkom użytkowania i są dostępne przed oficjalną wersją, aby klienci mogli uzyskać wczesny dostęp i przekazać opinię.
  1. Zaloguj się do centrum administracyjnego Power Platform.
  2. W okienku nawigacyjnym wybierz Zarządzanie.
  3. W okienku Zarządzaj, wybierz Środowiska. Następnie wybierz środowisko.
  4. Wybierz Ustawienia.
  5. Wybierz pozycję Inspekcja i dzienniki>Ustaw zasady przechowywania dla usuwania zadań systemowych (wersja zapoznawcza).
  6. Zaznacz pole wyboru Zezwalaj usłudze usuwania na usuwanie zadań systemowych.
  7. Wybierz lub wprowadź okres w dniach dla każdego typu zadań systemowych, w tym zadań zakończonych powodzeniem, zadań zakończonych niepowodzeniem i anulowanych zadań.
  8. Wybierz Zapisz.

Uwaga

Ta usługa usuwania usuwa zadania systemowe. Usunięte zadania systemowe nie są już wyświetlane na liście Wszystkie zadania systemowe ani Wszystkie zadania systemu usuwania zbiorczego . Istnieje zadanie cykliczne o nazwie Usuń ukończone zadania systemowe. To zadanie jest zawieszone, gdy usługa usuwania jest włączona.

Zadanie usuwania zbiorczego

Ważne

To zadanie jest w stanie wstrzymania , gdy jest używana usługa usuwania.

Wszystkie środowiska zostały skonfigurowane przy użyciu zadania zbiorczego usuwania zbiorczego, które umożliwia usunięcie pomyślnie zakończonych zadań systemowych przepływu pracy, które mają więcej niż 30 dni. Klienci mogą skonfigurować inne zadania usuwania zbiorczego w celu usunięcia rekordów AsyncOperation. Zalecamy skonfigurowanie zadania w celu usunięcia ukończonych zadań systemowych — niezależnie od typu i wyniku — starszych niż 30 dni. To zadanie pomaga zapobiegać gromadzeniu nadmiarowych rekordów w tabeli AsyncOperation.

Wszystkie środowiska zawierają wbudowane zadanie usuwania zbiorczego, które usuwa pomyślnie zakończone zadania systemu przepływu pracy starsze niż 30 dni. Klienci mogą utworzyć więcej zadań usuwania zbiorczego w celu usunięcia rekordów operacji AsyncOperation. Zalecamy skonfigurowanie zadania, które usuwa wszelkie ukończone zadania systemowe — niezależnie od typu i wyniku — starsze niż 30 dni, aby zapobiec niepotrzebnemu gromadzeniu się w tabeli AsyncOperation.

Za pomocą zadań systemowych usuwania zbiorczego można usuwać niepotrzebne rekordy z tabel AsyncOperation i WorkflowLog.

Wyświetl systemowe zadania związane z usuwaniem zbiorczym

Zadania usuwania rekordów zbiorczych pokazują historię zadań systemowych, które zostały uruchomione i wyniki.

Uwaga

Ta usługa usuwania usuwa zadania systemowe, a usunięte zadania usuwania zbiorczego nie są już wyświetlane na listach Wszystkie zadania systemowe lub Wszystkie zadania systemu usuwania zbiorczego.

  1. Zaloguj się do centrum administracyjnego Power Platform.
  2. W okienku nawigacji wybierz pozycję Zarządzaj.
  3. W okienku Zarządzaj, wybierz Środowiska.
  4. Na stronie Środowiska wybierz swoje środowisko.
  5. Wybierz Ustawienia na pasku poleceń.
  6. Rozwiń węzeł Zarządzanie danymi, a następnie wybierz pozycję Usuwanie zbiorcze.

Na siatce zbiorczego usuwania rekordów można użyć selektora widoków do wyświetlania zakończonych, w toku, oczekujących i cyklicznych zadań systemowych usuwania zbiorczego.

Widok Cykliczne zadania systemowe usuwania zbiorczego zawiera definicje zadań systemowych usuwania zbiorczego, które są w zestawie.

Kiedy otworzysz jeden z takich powtarzających się rekordów systemowego usuwania masowego, możesz zobaczyć zapytanie używane przez zadanie do określenia rekordów do usunięcia oraz harmonogram, według którego zadanie jest uruchamiane. W przypadku tych gotowych zadań systemowych nie można modyfikować zapytań używanych przez zadanie systemowe, ale można modyfikować harmonogram, według którego zadanie jest uruchamiane.

Jeśli przełączysz widok w taki sposób, aby wyświetlały zadania zaplanowane, w toku lub zakończone, możesz anulować, wznowić lub odłożyć zadanie, korzystając z opcji dostępnych w menu Akcje podczas przeglądania rekordu.

Tworzenie własnych zadań masowego usuwania

Jeśli usługa usuwania lub gotowe zadania zbiorczego usuwania systemu nie spełniają wymagań organizacji, możesz utworzyć własne zadanie zbiorczego usuwania.

Najpierw wyłącz usługę usuwania, wykonując następujące kroki.

  1. Dodaj i edytuj element EnableSystemJobCleanup.
  2. Ustaw wartość EnableSystemJobCleanup na wartość "false".

W siatce Usuwanie zbiorcze wybierz opcję Nowy na pasku poleceń, aby zdefiniować zapytanie dla rekordów, które chcesz usunąć. Użyj funkcji podglądu, aby przejrzeć rekordy zwrócone przez zapytanie i sprawdzić, czy przechwytuje zamierzony zestaw danych.

Aby wyczyścić rekordy przepływu pracy z tabeli AsyncOperation, z listy rozwijanej Wyszukaj jednostkę wybierz tabelę Zadania systemowe; z listy rozwijanej Użyj zapisanego widoku wybierz pozycję [nowy], aby utworzyć własne zapytanie. Usuwać można tylko zakończone przepływy pracy. Przepływy pracy oczekujące na uruchomienie lub będące w toku nie mogą (i nie powinny) być usuwane przez zadanie systemowe.

Dodaj do zapytania następujące warunki:

  • Typ zadania systemowego równa się Przepływ pracy( Opcjonalne) — docelowe rekordy przepływu pracy.
  • Stan równa się Zakończono — ukończone tylko przepływy pracy można ukończyć.
  • [Opcjonalnie] Filtruj Powód statusu równa się Pomyślnie/Nieudane/Anulowane - ważne dla ukończonego statusu.
  • [Opcjonalnie] Filtruj pole Zakończono, aby usuwać tylko starsze przepływy pracy.
  • [Opcjonalnie] Jeszcze więcej filtrów, które chcesz zastosować.

Następnie ustawiasz częstotliwość wykonywania zadania usuwania zbiorczego. Można utworzyć jedno lub więcej zadań usuwania zbiorczego albo zdefiniować harmonogram, który umożliwi uruchamianie zadania w określonych odstępach czasu.

Zadania zbiorczego usuwania oparte na priorytetach dla operacji asynchronicznych

Aby odblokować klientów, którzy mają znaczną ilość operacji asynchronicznych , wprowadziliśmy funkcję usuwania zbiorczego opartego na priorytetach na potrzeby oczyszczania operacji asynchronicznych. Ta funkcja jest domyślnie dostępna dla wszystkich organizacji. Oto kilka kluczowych punktów, na które warto zwrócić uwagę:

  • Priorytet usuwania zbiorczego dotyczy tylko nowo utworzonych, niecyklicznych zadań usuwania zbiorczego dla jednostki AsyncOperation.
  • Aby zmaksymalizować skuteczność tej funkcji i zoptymalizować wydajność zadania, utwórz zadania z różnymi warunkami filtrowania — takimi jak różne zakresy dat, typy zadań systemowych, kody stanu lub inne kryteria.
  • Organizacje mogą zdefiniować maksymalnie pięć priorytetowych zadań. Wszelkie kolejne zadania zostaną utworzone z domyślnym priorytetem.
  • Niezależnie od liczby zadań dla innych jednostek w kolejce, zawsze można utworzyć jedno zadanie AsyncOperation z priorytetem.
  • Nie ma zmian w odniesieniu do etapów tworzenia zadań zbiorczych i usuwania.

Logi śledzenia pluginów

Wtyczka może służyć do operacji asynchronicznych. Przykładem jest utworzenie zadania podczas tworzenia konta. Podczas testowania wtyczki można ustawić wartość PluginTraceLogSetting na wszystkie lub wyjątki. Dzienniki śledzenia wtyczek można wyświetlić w aplikacji Ustawienia środowiska platformy Power Platform.

Aby zautomatyzować czyszczenie dzienników śledzenia wtyczek, usługa Dataverse udostępnia zadanie cykliczne, które usuwa rekordy starsze niż jeden dzień.

  • To zadanie jest uruchamiane codziennie, upewniając się, że system nie zachowuje niepotrzebnych dzienników śledzenia wtyczek na czas nieokreślony.
  • Ten proces usuwania pomaga zwolnić miejsce przechowywania i utrzymuje system w wydajnym działaniu.

Chociaż dzienniki śledzenia wtyczek można usuwać codziennie, zaleca się, aby nie zezwalać na tę opcję w środowisku produkcyjnym, ponieważ może to mieć wpływ na wydajność i magazyn systemu. Zamiast tego upewnij się, że dla środowiska produkcyjnego jest ustawiona wartość PluginTraceLogSetting na wyłączony. To najlepsze rozwiązanie zapewnia, że tabela dziennika śledzenia wtyczki nie rośnie niekontrolowanie i powoduje osiągnięcie limitu pojemności bazy danych.

Sesje przetwarzania dla przepływów pracy synchronizacji

Sesja procesu (sesja okna dialogowego) jest tworzona, gdy użytkownik uruchamia lub wykonuje proces okna dialogowego. Zawiera dzienniki przebiegu, takie jak użytkownik, który go uruchomił, czas rozpoczęcia procesu i wykonane akcje.

Aby zautomatyzować oczyszczanie sesji procesu, usługa Dataverse udostępnia zadanie cykliczne, które usuwa rekordy starsze niż jeden dzień.

  • To zadanie jest uruchamiane codziennie, dzięki czemu system nie przechowuje w nieskończoność niepotrzebnych sesji procesów.
  • Ten proces usuwania pomaga zwolnić miejsce przechowywania i utrzymuje system w wydajnym działaniu.

Najlepsze praktyki w zakresie projektowania przepływów pracy

Po usunięciu niepotrzebnych rekordów z tabel przepływu pracy rozważ udoskonalenie projektu przepływu pracy, aby spowolnić rozwój tabeli w przyszłości

W przypadku przepływów asynchronicznych zaleca się włączenie w edytorze przepływu opcji Automatyczne usuwanie zakończonych zadań przepływu (w celu zaoszczędzenia miejsca na dysku). To ustawienie umożliwia systemowi automatyczne usuwanie dzienników pomyślnie ukończonych zadań, oszczędzając miejsce w pamięci. Dzienniki z nieudanych wykonań przepływu pracy są zawsze zachowywane w celu rozwiązywania problemów.

Ustawienie retencji zadań przepływu pracy w celu automatycznego usuwania ukończonych zadań przepływu pracy.

W przypadku synchronicznego przepływu pracy zaleca się włączenie funkcji Zachowaj dzienniki dla zadań przepływu pracy, które napotkały błędy w edytorze przepływów pracy. To ustawienie zapewnia zachowanie dzienników z nieudanych wykonań na potrzeby rozwiązywania problemów, natomiast dzienniki z pomyślnych uruchomień są automatycznie usuwane w celu zaoszczędzenia miejsca.

Ustawienie retencji logów przepływu pracy, aby zachować logi dla zadań przepływu, które napotkały błędy.

Wykorzystanie pojemności pliku AsyncOperation

Historycznie rzecz biorąc, cały kontekst operacji asynchronicznej był serializowany bezpośrednio w tabeli AsyncOperation Właściwość Data, co prowadziło do szybkiego wzrostu rozmiaru, jeśli w dużych rekordach występowały asynchroniczne rejestracje wtyczek (takie jak załącznik). Od początku 2021 r. część danych operacji asynchronicznych jest przenoszona do magazynu plików. W rezultacie rozmiar danych operacji asynchronicznych jest częściowo wliczany do pojemności bazy danych, a częściowo do pojemności pliku. Ta zmiana pomaga obniżyć koszty — ponieważ pojemność plików jest naliczana według niższej stawki niż pojemność bazy danych — i poprawia ogólną wydajność, umożliwiając wydajniejsze zapytania względem tabeli AsyncOperation.

Uwaga

Plików powiązanych z rekordami AsyncOperation nie można usunąć bezpośrednio. Aby odzyskać pojemność plików, przejrzyj zasady przechowywania i czyszczenia rekordów AsyncOperation opisane w tym artykule. Kiedy rekordy AsyncOperation zostaną usunięte, odpowiadające im pliki również zostaną usunięte.

Aby uzyskać więcej informacji na temat pojemności magazynu Dataverse, model i raportowanie, zobacz Nowa pojemność magazynu Microsoft Dataverse.

Zmniejszenie ilości miejsca zajmowanego przez bazy danych
Usuwanie dużych ilości określonych, ukierunkowanych danych za pomocą usuwania zbiorczego
Microsoft Dataverse Przepływy pracy w czasie rzeczywistym
Przepływy pracy klasycznego tła Dataverse
Automatyczne usuwanie ukończonych zadań przepływu pracy w tle
Usługa asynchroniczna