Изтриване на завършени системни задачи и регистър на процесите, за да се спазят правилата за съхранение

Управлението на завършени системни задачи и регистъра на процесите е от решаващо значение за поддържане на съответствие с поверителността на данните и осигуряване на оптимална производителност на системата в Dataverse.

Таблицата System Job AsyncOperation съхранява системните задачи. Действителното име на таблицата на базата данни е AsyncOperationBase. Системните задачи представляват асинхронни операции, включително регистрирани работни процеси, плъгини и фонови операции като групово изтриване, групово импортиране и сборни операции.

Когато асинхронен работен поток стартира във вашата организация на Dataverse, в таблицата AsyncOperation се създава запис, за да се проследи напредъка му. В таблицата Регистър на процесите (WorkflowLog) се създават още записи, за да се съхраняват регистрационни файлове на изпълнението на работния поток. Действителното име на таблицата на базата данни за тези регистрационни файлове е WorkflowLogBase. Потоците на бизнес процеси също съхраняват регистрационни файлове за етапни преходи и действия в таблицата WorkflowLog.

Всеки път, когато системна задача завърши, резултатът от него се регистрира като системно задание в запис на AsyncOperation. Завършените системни задачи са записи, които улавят резултатите от тези различни автоматизирани операции в Dataverse. С течение на времето тези записи се натрупват и, ако не се управляват, могат да повлияят на съхранението и производителността на системата.

Ако вашата организация разчита в голяма степен на работни потоци или потоци на бизнес процеси, свързаните таблици могат да нараснат значително с течение на времето, което потенциално води до влошаване на производителността и прекомерно потребление на място за съхранение в базата данни.

Видове завършени системни задачи и техните статуси

Системни задачи

  • Изтриване на записи на регистър за проследяване на добавки
  • Изтриване на завършени системни задачи
  • Изтриване на завършени сесии на процеса за работни потоци за синхронизиране

Завършените системни задачи се категоризират в три основни типа въз основа на статуса им на завършване:

  • Успешни: Задачи, които са изпълнени успешно без грешки.
  • Неуспешно: Задачи, които са срещнали грешки и не са завършени по предназначение.
  • Отменени: Задачи, които са били спрени преди завършване чрез намеса на потребителя или от системни ограничения.

Услуга за изтриване за автоматично изтриване на завършени системни задачи

По подразбиране системата предоставя услуга за изтриване за автоматично изтриване на системни задачи, които са завършени успешно, неуспешно или са били отменени. Настройката по подразбиране е зададена в инструмента OrganizationSettingsEditor и може да бъде променена с помощта на инструмента или от страницата Настройки на средата .

Актуализирайте правилата за съхранение с помощта на OrganizationSettingsEditor

За да проверите тази настройка:

  1. Инсталирайте инструмента OrganizationSettingsEditor.
  2. Добавете и редактирайте EnableSystemJobCleanup.
  3. Задайте EnableSystemJobCleanup на "true" (ако това все още не е зададено на true).

Задаване на правила за съхранение

Има три параметъра, които позволяват задаване на различни периоди на съхранение.

  • SucceededSystemJobPersistenceInDays за успешни задачи.

  • FailedSystemJobPersistenceInDays за неуспешни задачи.

  • CancelledSystemJobPersistenceInDays за отменени задачи.

    • Добавете и редактирайте CancelledSystemJobPersistenceInDays.
    • По подразбиране е 60 дни.
    • Актуализирайте това със собствения си дневен период.

Актуализиране на правилата за съхранение с помощта на страницата с настройки на средата (визуализация)

[Тази секция съдържа предварителна версия на документацията и подлежи на промяна.]

Важно

  • Това е функция за предварителен преглед.
  • Функциите на етап преглед не са предназначени за производствена употреба и може да са с ограничени възможности. Тези функции са предмет на допълнителни условия за ползване и са налични преди официалното издание, така че клиентите да могат да получат ранен достъп и да предоставят обратна връзка.
  1. Влезте в центъра за администриране на Power Platform.
  2. Изберете Управление в навигационния екран.
  3. В екрана Управление изберете Среди. След това изберете среда.
  4. Изберете Настройки.
  5. Изберете Одит и регистриране>Задаване на правила за запазване за изтриване на системни задачи (преглед).
  6. Поставете отметка в квадратчето за Разрешаване на услугата за изтриване на системни задачи.
  7. Изберете или въведете период в дни за всеки тип системни задачи, включително Успешни задачи, Неуспешни иОтменени задачи.
  8. Изберете Запиши.

Бележка

Тази услуга за изтриване изтрива системните задачи. Изтритите системни задачи вече не се показват в списъците със задачи за всички системи или всички задачи на системата за групово изтриване . Има повтаряща се задача, наречена Изтриване на завършени системни задачи. Тази задача се спира, когато услугата за изтриване е включена.

Задачи за групово изтриване

Важно

Тази задача е в спряно състояние, когато се използва услугата за изтриване.

Всички среди са конфигурирани с готово задание за групово изтриване за изтриване на успешно завършени системни задания на работен поток, по-стари от 30 дни. Клиентите могат да конфигурират други задачи за групово изтриване, за да изтрият записи на AsyncOperation. Препоръчваме да настроите задача за изтриване на завършени системни задачи – независимо от типа или резултата – които са по-стари от 30 дни. Тази задача помага да се предотврати натрупването на излишни записи в таблицата AsyncOperation.

Всички среди включват вградена задача за групово изтриване, която премахва успешно завършени задачи на работния поток, по-стари от 30 дни. Клиентите могат да създават повече задачи за групово изтриване, за да изтрият записи на AsyncOperation. Препоръчваме да конфигурирате задача, която изтрива всяка завършена системна задача – независимо от типа или резултата – по-стара от 30 дни, за да предотвратите ненужно натрупване в таблицата AsyncOperation.

Можете да използвате системните задачи за групово изтриване, за да изтриете ненужни записи както от таблиците AsyncOperation, така и от таблиците WorkflowLog.

Преглед на задачите на системата за групово изтриване

Задачите за групово изтриване на записи показват историята на изпълнените системни задачи и резултатите.

Бележка

Тази услуга за изтриване изтрива системните задачи и изтритите системни задачи за групово изтриване вече не се показват в списъците с задачи на всички системни задачи или всички задачи на системата за групово изтриване .

  1. Влезте в центъра за администриране на Power Platform.
  2. В навигационния екран изберете Управление.
  3. В екрана Управление изберете Среди.
  4. На страницата Среди изберете среда.
  5. В командната лента изберете Настройки.
  6. Разгънете Управление на данни, след което изберете Групово изтриване.

От мрежата за групово изтриване използвайте селектора на изгледи, за да покажете завършените, текущи, чакащи и повтарящи се системни задачи за групово изтриване.

Изгледът Повтарящи се системни задачи за групово изтриване показва готовите дефиниции на задачите за повтарящите се системни задачи за групово изтриване.

Когато отворите един от тези записи на системни задания, можете да видите заявката, която използва, за да определи кои записи да изтриете и графика, по който се изпълнява задачата. За тези готови системни задания не можете да промените заявката, използвана от системното задание, но можете да промените графика, по който заданието се изпълнява.

Ако превключите изгледа за показване на задачи, които са планирани, в ход или завършени, можете да отмените, възобновите или отложите задачата, като използвате опциите, налични в менюто Действия , когато преглеждате записа.

Създаване на собствени задачи за групово изтриване

Ако услугата за изтриване или готовите системни задачи за групово изтриване не отговарят на нуждите на вашата организация, можете да създадете свое собствено задание за групово изтриване.

Първо изключете услугата за изтриване, като изпълните следните стъпки.

  1. Добавете и редактирайте EnableSystemJobCleanup.
  2. Задайте EnableSystemJobCleanup на "false".

От мрежата Групово изтриване изберете Създай в командната лента, за да дефинирате заявка за записите, които искате да изтриете. Използвайте функцията за визуализация, за да прегледате записите, които заявката връща, и да проверите дали тя улавя желания набор от данни.

За да изчистите записите на работния поток от таблицата AsyncOperation, в падащото меню Търсене на обект изберете таблицата Системни задачи ; в падащото меню Използване на записан изглед изберете [ново], за да създадете своя собствена заявка. Можете да изтривате само завършени работни потоци. Работните потоци, които чакат да се изпълнят или са в процес на изпълнение, не могат (и не трябва) да бъдат изтрити от вашата системна задача.

Добавете следните условия към вашата заявка:

  • Тип системна задача Equals Workflow (по избор) - целеви записи на работен поток.
  • Състояние е равно на завършено – валидни са само завършени работни потоци за завършване.
  • [По избор] Филтрирайте по причината за състоянието е равно на Успешно/Неуспешно/Отменено - валидно за завършено състояние.
  • [По избор] Филтрирайте в полето Завършено, за да изтриете само по-стари работни процеси.
  • [По избор] Всички още филтри, които искате да приложите.

След това задавате честотата на задачата за групово изтриване, с която да се изпълнява. Можете да създадете еднократна задача за групово изтриване или да определите график, който да позволи на задачата да се изпълнява на определени интервали.

Базирани на приоритети задачи за групово изтриване за асинхронна операция

За да деблокираме клиенти, които имат значителен размер на асинхронната операция, въведохме функция за групово изтриване въз основа на приоритет за почистване на асинхронни операции. Тази функция е налична по подразбиране за всички организации. Ето някои ключови моменти, които трябва да се отбележат:

  • Приоритетът за групово изтриване се прилага само за новосъздадени, неповтарящи се задачи за групово изтриване за обекта AsyncOperation.
  • За да увеличите максимално ефективността на тази функция и да оптимизирате производителността на задачите, създайте задания с различни условия на филтриране – като различни диапазони от време, типове системни задачи, кодове на състоянието или други критерии.
  • Организациите могат да определят до пет приоритетни работни места. Всички още работни места се създават с приоритет по подразбиране.
  • Независимо от броя на задачите за други обекти в опашката, една задача на AsyncOperation винаги може да бъде създадена с приоритет.
  • Няма промяна по отношение на стъпките за създаване на групови, изтриване на задачи.

Регистрационни файлове за проследяване на плъгини

Плъгинът може да се използва за асинхронни операции. Пример за това е да създадете задача при създаване на акаунт. Когато тествате приставката, можете да зададете PluginTraceLogSetting на всички или изключения. Можете да видите регистрационните файлове за проследяване на приставката в приложението Настройки на средата на Power Platform.

За да автоматизира почистването на регистрационни файлове за проследяване на добавки, Dataverse предоставя повтаряща се задача, която изтрива записи, по-стари от един ден.

  • Тази задача се изпълнява всеки ден, като гарантира, че системата няма да запази ненужните регистрационни файлове за проследяване на приставки за неопределено време.
  • Процесът на изтриване помага за освобождаване на място за съхранение и поддържа ефективната работа на системата.

Въпреки че можете да изтривате регистрационни файлове за проследяване на добавки ежедневно, препоръчително е да не разрешавате тази опция във вашата производствена среда, тъй като това може да повлияе на производителността на системата и съхранението. Вместо това се уверете, че PluginTraceLogSetting е изключен за производствената среда. Тази най-добра практика гарантира, че таблицата с регистрационни файлове за проследяване на приставката няма да расте неконтролируемо и да доведе до достигане на лимита на капацитета на базата данни.

Обработване на сесии за синхронизиране на работни потоци

Сесия на процеса (диалогова сесия) се създава, когато потребителят изпълнява или изпълнява диалогов процес. Той съдържа регистрационни файлове за изпълнението, като например потребителя, който го е изпълнил, времето на стартиране на процеса и извършените действия.

За да автоматизира почистването на сесиите на процеса, Dataverse предоставя повтаряща се задача, която изтрива записи, по-стари от един ден.

  • Тази работа се изпълнява всеки ден, като гарантира, че системата няма да запази ненужните сесии на процеса за неопределено време.
  • Процесът на изтриване помага за освобождаване на място за съхранение и поддържа ефективната работа на системата.

Най-добри практики за проектиране на работни потоци

След като премахнете ненужните записи от таблиците на работния поток, помислете за усъвършенстване на дизайна на работния поток, за да забавите бъдещия растеж на таблицата

За асинхронни работни потоци препоръчваме да активирате опцията Автоматично изтриване на завършени работни потоци (за да спестите място на диска) в редактора на работния поток. Тази настройка позволява на системата автоматично да изтрива регистрационни файлове за успешно завършени задачи, спестявайки място за съхранение. Регистрационните файлове от неуспешни изпълнения на работен поток винаги се запазват за отстраняване на неизправности.

Задайте Запазване на задания в работния поток за автоматично изтриване на завършени задачи от работния поток.

За синхронни работни потоци препоръчваме да активирате Съхраняване на регистрационни файлове за задания на работни потоци, които са срещнали грешки в редактора на работни потоци. Тази настройка гарантира, че регистрационните файлове от неуспешни изпълнения се запазват за отстраняване на неизправности, докато регистрационните файлове от успешното изпълнение се изтриват автоматично, за да се спести място.

Задайте запазване на регистрационни файлове на работния поток, за да запазите регистрационни файлове за задачи на работния поток, при които са възникнали грешки.

Използване на капацитета на файла AsyncOperation

Исторически погледнато, целият контекст на асинхронната операция се сериализираше директно в свойството Data на таблицатаAsyncOperation, което водеше до бърз растеж на размера, ако има асинхронни регистрации на добавки в големи записи (като прикачени файлове). От началото на 2021 г. частта с данни на асинхронните операции се премества във файлово хранилище. В резултат на това размерът на данните за асинхронна операция се отчита частично в капацитета на базата данни и частично в капацитета на файла. Тази промяна помага за намаляване на разходите – тъй като капацитетът на файла се таксува с по-ниска скорост от капацитета на базата данни – и подобрява цялостната производителност, като позволява по-ефективни заявки към таблицата AsyncOperation.

Бележка

Файловете, свързани със записите на AsyncOperation, не могат да бъдат изтрити директно. За да възстановите капацитета на файла, прегледайте правилата за съхранение и почистване на записите на AsyncOperation, описани в тази статия. Когато записите на AsyncOperation се изтриват, съответните им файлове също се изтриват.

За повече информация относно модела на съхранение и отчетността в Dataverse, вижте New Microsoft Dataverse storage capacity.

Намалете съхранението на база данни
Премахване на голямо количество конкретни, целеви данни с групово изтриване
Microsoft Dataverse работни потоци в реално време
Класически Dataverse фонови работни потоци
Автоматично изтриване на завършени задания на фоновия работен поток
Асинхронна услуга