次の方法で共有


アイテム保持ポリシーに準拠するために完了したシステム ジョブとプロセス ログを削除する

完了したシステム ジョブとプロセス ログを管理することは、データ プライバシー コンプライアンスを維持し、Dataverse で最適なシステム パフォーマンスを確保するために重要です。

システム ジョブ AsyncOperation テーブルには、システム ジョブが格納されます。 実際のデータベース テーブル名は AsyncOperationBase です。 システム ジョブは、登録されたワークフロー、プラグイン、一括削除、一括インポート、ロールアップ操作などのバックグラウンド操作を含む非同期操作を表します。

Dataverse 組織で非同期ワークフローが開始されると、その進行状況を追跡するために AsyncOperation テーブルにレコードが作成されます。 ワークフロー実行のログを保持するために、さらに多くのレコードがプロセス ログ (WorkflowLog) テーブルに作成されます。 これらのログの実際のデータベース テーブル名は WorkflowLogBase です。 ビジネス プロセス フローでは、ステージの遷移とアクションのログも WorkflowLog テーブルに格納されます。

システム ジョブが完了するたびに、その結果は AsyncOperation レコードのシステム ジョブとしてログに記録されます。 完了したシステム ジョブは、Dataverse でのこれらのさまざまな自動化された操作の結果をキャプチャするレコードです。 これらのレコードは時間の経過と同時に蓄積され、アンマネージドの場合はシステムのストレージとパフォーマンスに影響を与える可能性があります。

組織がワークフローや業務プロセスフローに大きく依存している場合、関連するテーブルは時間の経過とともに大幅に増加する可能性があり、パフォーマンスの低下やデータベースストレージの過剰な消費につながる可能性があります。

完了したシステム ジョブの種類とその状態

システム業務

  • プラグイン トレース ログ レコードを削除する
  • 完了したシステム ジョブを削除する
  • 同期ワークフローで完了したプロセスセッションを削除する

完了したシステム ジョブは、完了状態に基づいて 3 つの主要な種類に分類されます。

  • 成功: エラーなしで正常に完了したジョブ。
  • 失敗: エラーが発生し、意図したとおりに完了していないジョブ。
  • 取り消し済み: ユーザーの介入またはシステム制約によって、完了前に停止されたジョブ。

完了したシステム ジョブを自動的に削除する削除サービス

既定では、システムは削除サービスを提供し、正常に完了した、失敗した、または取り消されたシステム ジョブを自動的に削除します。 既定値は OrganizationSettingsEditor ツールで設定され、ツールまたは [環境設定] ページを使用して変更できます。

OrganizationSettingsEditor を使用してアイテム保持ポリシーを更新する

この設定を確認するには:

  1. OrganizationSettingsEditor ツールをインストールします。
  2. EnableSystemJobCleanup を追加して編集します。
  3. EnableSystemJobCleanup を 'true' に設定します (まだ true に設定されていない場合)。

アイテム保持ポリシーを設定する

異なる保持期間を設定できるようにするための 3 つのパラメーターがあります。

  • SucceededSystemJobPersistenceInDays は成功したジョブ用です。

  • 失敗したジョブの FailedSystemJobPersistenceInDays の設定。

  • CancelledSystemJobPersistenceInDays は取り消されたジョブの保存期間を定義します。

[環境設定] ページを使用してアイテム保持ポリシーを更新する (プレビュー)

[このセクションはプレリリースのドキュメントであり、変更される可能性があります。

Important

  • これはプレビュー機能です。
  • プレビュー機能は運用環境向けではなく、機能が制限されている可能性があります。 これらの機能は 補足的な使用条件の対象であり、お客様が早期にアクセスしてフィードバックを提供できるように、公式リリースの前に利用できます。
  1. Power Platform 管理センター にサインインします。
  2. ナビゲーション ウィンドウで、管理を選択します。
  3. 管理ウィンドウで環境を選択します。 環境を選択します。
  4. 設定を選択します。
  5. 選択Audit and logs>システム ジョブの削除の保持ポリシーを設定する (プレビュー).
  6. [ 削除サービスによるシステム ジョブの削除を許可する] チェック ボックスをオンにします。
  7. 成功したジョブ失敗したジョブ、取り消されたジョブなど、システム ジョブの種類ごとに日数を選択または入力します。
  8. 保存 を選択します。

メモ

この削除サービスは、システム ジョブを削除します。 削除されたシステム ジョブは、[ すべてのシステム ジョブ ] または [ すべての一括削除システム ジョブ ] の一覧に表示されなくなります。 定期的に実行されるジョブとして 「完了したシステム ジョブの削除」 があります。 このジョブは、削除サービスがオンのときに中断されます。

一括削除ジョブ

Important

削除サービスを使用すると、このジョブは 中断 状態になります。

すべての環境は、30日より前に正常に完了したワークフロー システム ジョブを削除するために、すぐに使用できる一括削除ジョブが設定されています。 顧客は、他の一括削除ジョブを設定して、AsyncOperation レコードを削除できます。 完了したシステムジョブ (種類や結果を問わず) で、30 日以上経過したものを削除するジョブの設定をお勧めします。 このジョブは、AsyncOperation テーブルに過剰なレコードが蓄積されるのを防ぎます。

すべての環境には、30 日以上経過した正常に完了したワークフロー システム ジョブを削除する組み込みの一括削除ジョブが含まれています。 顧客は、AsyncOperation レコードを一括削除するために、より多くの一括削除ジョブを作成できます。 AsyncOperation テーブルに不要なデータが蓄積されるのを防ぐため、完了したシステムジョブ (種類や結果を問わず) を 30 日以上経過後に削除するジョブの構成を推奨します。

一括削除システム ジョブを使用して、AsyncOperation テーブルと WorkflowLog テーブルの両方から不要なレコードを削除できます。

一括削除システム ジョブを表示する

一括レコード削除ジョブには、実行されたシステム ジョブの履歴と結果が表示されます。

メモ

この削除サービスでは、システム ジョブが削除され、削除された一括削除システム ジョブは、[ すべてのシステム ジョブ ] または [ すべての一括削除システム ジョブ ] の一覧に表示されなくなります。

  1. Power Platform 管理センター にサインインします。
  2. ナビゲーション ウィンドウで、[管理] を選択 します
  3. 管理ウィンドウで環境を選択します。
  4. 環境ページで、環境を選択します。
  5. コマンド バーで、設定を選択します。
  6. データ管理を展開し、一括削除を選択します。

一括削除グリッドから、ビュー セレクタを使用して、完了、進行中、保留中、定期的な一括削除システムジョブを表示します。

定期一括削除システム ジョブ ビューには、定期一括削除システムジョブの既成ジョブ定義が表示されます。

これらのシステム ジョブレコードのいずれかを開くと、削除するレコードとジョブの実行スケジュールを特定するために使用されるクエリを確認できます。 これらのすぐに使用可能なシステム ジョブの場合、システム ジョブで使用されるクエリを変更することはできませんが、ジョブの実行スケジュールを変更することはできます。

ビューを切り替えるて、スケジュール済み、進行中、または完了したジョブを表示すと、記録を表示する際にアクション メニューで利用可能なオプションを使用して、ジョブをキャンセル、再開、または延期することができます。

独自の一括削除ジョブの作成

削除サービスまたはすぐに使用できるシステムの一括削除ジョブが組織のニーズを満たしていない場合は、独自の一括削除ジョブを作成できます。

まず、次の手順を実行して、削除サービスをオフにします。

  1. EnableSystemJobCleanup を追加して編集します。
  2. EnableSystemJobCleanup を 'false' に設定します。

一括削除グリッドから、コマンド バーの新規を選択して、削除するレコードのクエリを定義します。 クエリが返すレコードを確認するにはプレビュー機能を使用し、意図したデータセットが取得されていることを確認します。

AsyncOperation テーブルからワークフロー レコードをクリーンアップするには、Look for エンティティのドロップダウンで System Jobs テーブルを選択し、保存したビューの使用のドロップダウンで新規を選択して独自のクエリを作成します。 完了したワークフローのみを削除できます。 実行を待機しているワークフローまたは現在進行中のワークフローは、システム ジョブで削除することはできません。

クエリに次の条件を追加します:

  • システム ジョブの種類ワークフローと等しい (省略可能) - ターゲット ワークフロー レコード。
  • ステータス完了と等しい — 完了したワークフローのみが有効です。
  • [オプション] ステータス成功/失敗/キャンセル の場合 - 完了のステータスに有効です。
  • [オプション] 完了日フィールドでフィルター処理し、古いワークフローのみを削除します。
  • [オプション] 適用する他のフィルター。

次に、一括削除ジョブを実行する頻度を設定します。 1 回限りの一括削除ジョブを作成するか、設定した間隔でジョブを実行できるようにスケジュールを定義できます。

asyncoperation 向けの優先度ベースの一括削除ジョブ

非同期操作のサイズが大きい顧客のブロックを解除するために、非同期操作のクリーンアップに 優先度ベースの一括削除 機能を導入しました。 この機能は、すべての組織で既定で利用可能です。 以下は、注意すべき重要なポイントです。

  • 一括削除の優先度は、AsyncOperation エンティティに対して新規に作成された非反復的な一括削除ジョブにのみ適用されます。
  • この機能の効果を最大化し、ジョブのパフォーマンスを最適化するには、異なる日付範囲、システム ジョブタイプ、ステータス コード、その他の基準など、さまざまなフィルター条件でジョブを作成してください。
  • 組織は最大 5 つの優先ジョブを定義できます。 それ以上のジョブは既定の優先度で作成されます。
  • キュー内の他のエンティティのジョブ数にかかわらず、常に 1 つの AsyncOperation ジョブを優先的に作成できます。
  • 一括削除ジョブの作成手順に変更はありません。

プラグイン トレース ログ

プラグイン は非同期操作に使用できます。 たとえば、アカウント作成時にタスクを作成します。 プラグインをテストする場合は、 PluginTraceLogSetting をすべてまたは例外に設定できます。 プラグイン トレース ログは、Power Platform Environment Settings アプリで表示できます。

プラグイン トレース ログのクリーンアップを自動化するために、Dataverse には、1 日より前のレコードを削除する定期的なジョブが用意されています。

  • このジョブは毎日実行され、システムが不要なプラグイン トレース ログを無期限に保持しないようにします。
  • 削除プロセスは、記憶域を解放し、システムのパフォーマンスを効率的に維持するのに役立ちます。

プラグイン トレース ログは毎日削除できますが、システムのパフォーマンスとストレージに影響を与える可能性があるため、運用環境ではこのオプションを許可しないことをお勧めします。 代わりに、運用環境で PluginTraceLogSetting が off に設定されていることを確認してください。 このベスト プラクティスにより、プラグイン トレース ログ テーブルが制御不能に拡大せず、データベースの容量制限に達することが保証されます。

同期ワークフローのプロセス セッション

プロセス セッション (ダイアログ セッション) は、ユーザーがダイアログ プロセスを実行または実行するときに作成されます。 実行に関するログ (実行したユーザー、プロセスの開始時刻、実行されたアクションなど) が含まれます。

プロセス セッションのクリーンアップを自動化するために、Dataverse には、1 日より前のレコードを削除する定期的なジョブが用意されています。

  • このジョブは毎日実行され、システムが不要なプロセス セッションを無期限に保持しないようにします。
  • 削除プロセスは、記憶域を解放し、システムのパフォーマンスを効率的に維持するのに役立ちます。

ワークフロー設計のベスト プラクティス

ワークフロー テーブルから不要なレコードを削除した後、将来のテーブルの成長を抑制するためにワークフロー設計の改善を検討してください

非同期のワークフローでは、ワークフロー エディターで完了したワークフロー ジョブを自動的に削除する (ディスク容量の確保) を有効にすることをお勧めします。 この設定により、システムは正常に完了したジョブのログを自動的に削除し、ストレージ容量を節約します。 失敗したワークフロー実行ログは、トラブルシューティングのために常に保持されます。

完了したワークフロー ジョブを自動的に削除するように、ワークフロー ジョブの保持を設定します。

同期ワークフローの場合、ワークフロー エディターで、エラーが発生したワークフロー ジョブのログを保持を有効にすることをお勧めします。 この設定により、失敗した実行のログはトラブル シューティングのために保持され、成功した実行のログはスペースを節約するために自動的に削除されます。

エラーが発生したワークフロー ジョブのログを保持するようにワークフロー ログの保持を設定します。

AsyncOperation ファイル容量の使用状況

これまで、非同期操作コンテキスト全体が データ プロパティとして AsyncOperation テーブルで直接シリアル化されていたため、大規模なレコード (添付ファイルなど) に非同期プラグイン登録がある場合、サイズが急速に大きくなる傾向がありました。 2021 年の初めから、非同期操作のデータ部分はファイル ストアに移動されました。 そのため、非同期操作のデータ サイズは、データベース容量とファイル容量に部分的にカウントされます。 ファイルのキャパシティはデータベースのキャパシティよりも低いレートで課金されるため、このシフトはコスト削減に役立ち、AsyncOperation テーブルに対するより効率的なクエリを可能にすることで、全体的なパフォーマンスを向上させます。

メモ

AsyncOperation レコードに関連するファイルは直接削除できません。 ファイルのキャパシティを解放するには、この記事で説明されている AsyncOperation レコードの保持およびクリーンアップ ポリシーを確認してください。 AsyncOperation レコードが削除されると、対応するファイルも削除されます。

Dataverse のストレージ モデルとレポートに関する詳細情報については、新しい Microsoft Dataverse のストレージ キャパシティを参照してください

データベースのストレージを削減する
大容量の特定の対象データを一括削除で削除する
Microsoft Dataverse リアルタイム ワークフロー
従来の Dataverse バックグラウンド ワークフロー
完了したバックグラウンド ワークフロー ジョブを自動的に削除する
非同期サービス