Удалите завершенные системные задания и журнал операций для соблюдения политики хранения.

Управление завершенными системными заданиями и журналом процессов имеет решающее значение для обеспечения соответствия конфиденциальности данных и обеспечения оптимальной производительности системы в Dataverse.

Таблица AsyncOperation хранит системные задания. Фактическое имя таблицы базы данных — AsyncOperationBase. Системные задания представляют собой асинхронные операции, включая зарегистрированные рабочие процессы и плагины, а также фоновые операции, такие как массовое удаление, массовый импорт и операции агрегирования.

При запуске асинхронного рабочего процесса в организации Dataverse запись создается в таблице AsyncOperation для отслеживания его хода выполнения. Дополнительные записи создаются в таблице журнала процессов (WorkflowLog), чтобы сохранить журналы выполнения рабочего процесса. Фактическое имя таблицы базы данных для этих журналов — WorkflowLogBase. Потоки бизнес-процессов также хранят журналы для переходов этапов и действий в таблице WorkflowLog.

Каждый раз, когда задание системы завершается, его результат регистрируется как системное задание в записи AsyncOperation. Завершенные системные задания — это записи, которые фиксируют результаты этих различных автоматизированных операций в Dataverse. Со временем эти записи накапливаются и, если они неуправляемы, могут повлиять на системное хранилище и производительность.

Если ваша организация в значительной степени зависит от рабочих процессов или потоков бизнес-процесса, связанные с ними таблицы могут со временем существенно вырасти, что может привести к снижению производительности и чрезмерному потреблению хранилища базы данных.

Типы завершенных системных заданий и их состояния

Системные задания

  • Удалить записи журнала трассировки плагинов
  • Удаление завершенных системных заданий
  • Удаление завершенных сеансов выполнения процессов для процессов синхронизации

Завершенные системные задания классифицируются по трем основным типам на основе их состояния завершения:

  • Успешно выполнено: задания, которые были успешно завершены без ошибок.
  • Сбой: задания, которые столкнулись с ошибками и не завершились должным образом.
  • Отменено: задания, которые были остановлены до завершения, либо вмешательством пользователя, либо ограничениями системы.

Служба удаления для автоматического удаления завершенных системных заданий

По умолчанию система предоставляет службу удаления для автоматического удаления системных заданий, которые успешно завершились, завершились сбоем или были отменены. Значение по умолчанию задано в средстве OrganizationSettingsEditor и может быть изменено с помощью средства или на странице "Параметры среды ".

Обновление политики хранения с помощью OrganizationSettingsEditor

Чтобы проверить этот параметр, выполните следующие действия.

  1. Установите средство OrganizationSettingsEditor.
  2. Добавьте и измените EnableSystemJobCleanup.
  3. Задайте для параметра EnableSystemJobCleanup значение true (если это еще не задано значение true).

Настройка политики хранения

Существует три параметра, которые позволяют задать разные периоды хранения.

  • SucceededSystemJobPersistenceInDays для завершённых системных заданий.

    • Добавьте и отредактируйте SucceededSystemJobPersistenceInDays.
    • Значение по умолчанию — 30 дней.
    • Обновите это, указав свой собственный период времени суток.
  • FailedSystemJobPersistenceInDays для заданий, завершившихся сбоем.

    • Добавьте и измените FailedSystemJobPersistenceInDays.
    • Значение по умолчанию — 60 дней.
    • Обновите это, указав свой собственный период времени суток.
  • CanceledSystemJobPersistenceInDays для отмененных системных заданий.

    • Добавление и изменение CancelledSystemJobPersistenceInDays.
    • Значение по умолчанию — 60 дней.
    • Обновите это, указав свой собственный период времени суток.

Обновление политики хранения с помощью страницы параметров среды (предварительная версия)

[Этот раздел содержит предварительную версию документации и может быть изменен.]

Important

  • Это предварительная версия функции.
  • Предварительные версии функций не предназначены для использования в производственной среде и могут иметь ограниченную функциональность. Для этих функций действуют дополнительные условия использования и они доступны перед официальным выпуском, чтобы клиенты могли досрочно получить доступ и предоставить отзывы.
  1. Войдите в центр администрирования Power Platform.
  2. В области навигации выберите Управление.
  3. На панели Управление выберите Среды. Затем выберите среду.
  4. Выберите Параметры.
  5. Выберите "Аудит и журналы>" Установите политику хранения для удаления системных заданий (предварительная версия).
  6. Установите флажок "Разрешить службу удаления" для удаления системных заданий.
  7. Выберите или введите период в днях для каждого типа системных заданий, включая успешные задания, неудачные задания и отмененные задания.
  8. Нажмите кнопку "Сохранить".

Замечание

Эта служба удаления удаляет системные задания. Удаленные системные задания больше не отображаются в списках всех системных заданий или всех заданий системы массового удаления . Существует повторяющееся задание с именем Удаление выполненных системных заданий. Это задание приостановлено, когда служба удаления активна.

Задания массового удаления

Important

Это задание находится в приостановленном состоянии при использовании службы удаления.

Для всех сред настроено готовое задание массового удаления для удаления успешно завершенных системных заданий рабочих процессов старше 30 дней. Клиенты могут настроить другие задания массового удаления для удаления записей AsyncOperation. Мы рекомендуем настроить задание по удалению завершенных системных заданий (независимо от типа или результата), которые старше 30 дней. Это задание помогает предотвратить накопление лишних записей в таблице AsyncOperation.

Все среды включают встроенное задание массового удаления, которое удаляет успешно завершенные системные задания рабочих процессов старше 30 дней. Клиенты могут создавать больше заданий на массовое удаление записей AsyncOperation. Мы рекомендуем настроить задание, которое удаляет любое завершенное системное задание (независимо от типа или результата) старше 30 дней, чтобы предотвратить ненужное накопление данных в таблице AsyncOperation.

Для удаления ненужных записей из таблиц AsyncOperation и WorkflowLog можно использовать задания системы массового удаления.

Просмотр заданий системы массового удаления

Задания массового удаления записей показывают историю выполняемых системных заданий и результатов.

Замечание

Эта служба удаления удаляет системные задания и удаленные задания системы массового удаления больше не отображаются в списках всех системных заданий или всех списков заданий системы массового удаления .

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

Из сетки Массовое удаление вы можете использовать селектор представления для просмотра завершенных, незавершенных, ожидающих и повторяющихся системных заданий массового удаления.

Представление Повторяющиеся системные задания массового удаления показывает встроенные определения заданий для повторяющихся системных заданий массового удаления.

Если вы откроете одну из этих записей системных заданий, вы увидите запрос, который определяет записи, подлежащих удалению, и расписание выполнения задания. Для этих стандартных системных заданий запрос, используемый системным заданием, нельзя изменить, но можно изменить расписание, по которому выполняется задание.

Если переключить представление для отображения запланированных, выполняемых или завершенных заданий, можно отменить, возобновить или отложить задание с помощью параметров, доступных в меню Действия при просмотре записи.

Создание собственного задания массового удаления

Если Служба удаления или встроенные задачи массового удаления системы не соответствуют потребностям вашей организации, можно создать собственное задание массового удаления.

Сначала отключите службу удаления, выполнив следующие действия.

  1. Добавьте и измените EnableSystemJobCleanup.
  2. Задайте для enableSystemJobCleanup значение false.

В таблице Массовое удаление выберите Новый на панели команд, чтобы определить запрос для записей, которые вы хотите удалить. Используйте функцию предварительного просмотра, чтобы просмотреть записи, возвращаемые запросом, и убедиться, что он охватывает предполагаемый набор данных.

Чтобы очистить записи рабочего процесса из таблицы AsyncOperation, в раскрывающемся списке сущности Искать выберите таблицу Системные задания; в раскрывающемся списке Использовать сохраненное представление выберите [новый], чтобы создать собственный запрос. Удалять можно только завершенные рабочие процессы. Рабочие процессы, ожидающие запуска или выполняемые в данный момент, не могут (и не должны) удаляться системным заданием.

Добавьте в запрос следующие условия:

  • Тип системного задания равно Рабочий процесс (Необязательно) — целевые записи рабочего процесса.
  • Статус равен Завершено — только завершенные рабочие процессы будут обработаны.
  • [Необязательно] Отфильтруйте по причина состояния равно успешно/неудачно/отменено — действительно для статуса завершено.
  • [Необязательно] Отфильтруйте по полю Завершено, чтобы удалить только старые рабочие процессы.
  • [Необязательно] Используйте любые нужные вам дополнительные фильтры.

Затем вам нужно задать частоту выполнения задания по массовому удалению. Вы можете создать одноразовое задание массового удаления или определить расписание, позволяющее запускать задание с заданными интервалами.

Массовое удаление заданий на основе приоритета для асинхронной работы

Чтобы разблокировать клиентов со значительным размером асинхронных операций, мы ввели функцию массового удаления на основе приоритетов для очистки асинхронных операций. Эта функция доступна по умолчанию для всех организаций. Ниже приведены некоторые ключевые моменты, которые следует отметить:

  • Приоритет массового удаления применяется только к вновь созданным неповторяющимся заданиям массового удаления для сущности AsyncOperation.
  • Чтобы максимально повысить эффективность этой функции и оптимизировать производительность заданий, создавайте задания с различными условиями фильтрации, такими как различные диапазоны дат, типы системных заданий, коды статуса или другие критерии.
  • Организации могут определить до пяти приоритетных заданий. Все последующие задания создаются с приоритетом по умолчанию.
  • Независимо от количества заданий для других сущностей в очереди, одно задание AsyncOperation всегда может быть создано с приоритетом.
  • Никаких изменений в этапах создания заданий на массовое удаление не произошло.

Журналы трассировки подключаемых модулей

Подключаемый модуль можно использовать для асинхронных операций. Примером является создание задачи при создании учетной записи. При тестировании подключаемого модуля можно задать значение PluginTraceLogSetting для регистрации всех действий или исключений. Журналы трассировки подключаемых модулей можно просмотреть в приложении параметров среды Power Platform.

Чтобы автоматизировать очистку журналов трассировки подключаемых модулей, Dataverse предоставляет повторяющееся задание, которое удаляет записи старше одного дня.

  • Это задание выполняется каждый день, гарантируя, что система не сохраняет ненужные журналы трассировки подключаемых модулей на неопределенный срок.
  • Процесс удаления помогает освободить место в хранилище и обеспечить эффективную работу системы.

Хотя журналы трассировки подключаемых модулей можно удалять ежедневно, рекомендуется не разрешать этот параметр в рабочей среде, так как это может повлиять на производительность системы и хранилище. Вместо этого убедитесь, что параметр PluginTraceLogSetting установлен на "off" для рабочего окружения. Эта рекомендация гарантирует, что таблица журнала трассировки подключаемых модулей не увеличивается неконтролируемо и приводит к тому, что база данных достигнет предела емкости.

Сеансы обработки для рабочих процессов синхронизации

Сеанс процесса (диалоговый сеанс) создается, когда пользователь запускает или выполняет диалоговый процесс. Он содержит журналы выполнения, такие как пользователь, который его запустил, время начала процесса и выполненные действия.

Чтобы автоматизировать очистку сеансов процесса, Dataverse предоставляет повторяющееся задание, которое удаляет записи старше одного дня.

  • Это задание выполняется каждый день, гарантируя, что система не сохраняет ненужные сеансы процесса на неопределенный срок.
  • Процесс удаления помогает освободить место в хранилище и обеспечить эффективную работу системы.

Рекомендации по проектированию рабочих процессов

После удаления ненужных записей из таблиц рабочего процесса рассмотрите возможность усовершенствования структуры рабочего процесса, чтобы замедлить дальнейший рост таблиц

Для фоновых (асинхронных) рабочих процессов рекомендуется включить параметр Автоматически удалять завершенные задания бизнес-процесса (для экономии места на диске) в редакторе бизнес-процесса. Этот параметр позволяет системе автоматически удалять журналы успешно выполненных заданий, экономя место на диске. Журналы неудачно выполненных рабочих процессов всегда сохраняются для целей устранения неполадок.

Установите Сохранение заданий рабочего процесса для автоматического удаления завершенных заданий рабочего процесса.

Для синхронных рабочих процессов мы рекомендуем включить Оставлять журналы для заданий рабочего процесса, в которых возникли ошибки в редакторе рабочего процесса. Этот параметр гарантирует, что журналы неудачных запусков сохраняются для устранения неполадок, а журналы успешных запусков автоматически удаляются для экономии места.

Установите Сохранение журналов рабочих процессов на сохранение журналов заданий рабочих процессов, в которых возникли ошибки.

Использование файловой емкости AsyncOperation

Исторически весь контекст асинхронных операций сериализовался непосредственно в свойстве Данные таблицы AsyncOperation, что приводило к очень быстрому увеличению размера при наличии асинхронной регистрации подключаемых модулей в больших записях(например, вложениях). С начала 2021 года часть данных асинхронных операций перемещается в файловое хранилище. В результате размер данных асинхронной операции частично учитывается в счет емкости базы данных, а частично — файловой емкости. Это помогает снизить затраты (поскольку файловая емкость оплачивается по более низкой ставке, чем емкость базы данных) и повышает общую производительность, поскольку запросы к таблице AsyncOperation более производительны.

Замечание

Файлы, связанные с записями AsyncOperation, нельзя удалить напрямую. Чтобы освободить место для файла, ознакомьтесь с политиками хранения и очистки записей AsyncOperation, описанными в этой статье. Когда записи AsyncOperation удаляются, соответствующие файлы также удаляются.

Дополнительные сведения о модели хранения Dataverse и отчетах подробнее см. в разделе Новая емкость хранилища Microsoft Dataverse.

Уменьшение хранилища базы данных
Удаление больших объемов конкретных целевых данных с помощью функции массового удаления
Microsoft Dataverse рабочие процессы в режиме реального времени
Классические фоновые бизнес-процессы Dataverse
Автоматическое удаление завершенных заданий фонового бизнес-процесса
Асинхронная служба