[どうやって消す?]Dataverse 容量を消費するログの存在

Dataverse 容量を消費するログの存在.jpg
久しぶりにブログ書きます。小林です。

今回は、自社で起こったDataverseの容量消費対策について書きます。

気がついたらキャパシティオーバー!

かれこれ4年ほど利用しているDataverseの環境がありました。

データベース容量もかなり使っていますが、なにより増え続ける「ファイル」容量が気になります。

この時点でギリギリでしたが、数日してキャパシティーオーバー、、、💦

このファイルってなに??

dataverse01.jpg

何が容量を取っているのか?

それを調べるために「容量」から「ファイル使用量」調べると「AsyncOperation」が、かなり多いのがわかりました。そもそも「AsyncOperation」と言われてもDataverseの内部ファイルなので、何を指しているのかわかりません💦

dataverse02.jpg

調べてみると、

■System Job (AsyncOperation) テーブル/エンティティの参照
https://learn.microsoft.com/ja-jp/power-apps/developer/data-platform/reference/entities/asyncoperation

システムで利用しているテーブルみたいで、ログデータが記録されている様ですね。



容量不足の解消方法

どこから削除すればよいのか調べていると、きちんとLeanに紹介されていました。

■AsyncOperationBase および WorkflowLogBase テーブルからレコードをクリーンアップする
https://learn.microsoft.com/en-us/power-platform/admin/cleanup-asyncoperationbase-table

AsyncOperationBase テーブルは、システム ジョブを格納するために使用されます。システム ジョブは、非同期登録ワークフローやプラグインなどの非同期拡張機能、および一括削除、一括インポート、ロールアップ操作などのその他のバックグラウンド操作を表します。イベントが発生し、同期拡張機能が処理された後、プラットフォームは非同期拡張機能のコンテキストをシリアル化し、それを AsyncOperation エンティティとしてデータベースに保存します。

Dataverse 組織で非同期ワークフローがトリガーされると、AsyncOperationBase テーブルにレコードが作成され、非同期ジョブの処理が追跡されます。ワークフロー実行のログを維持するために、追加のレコードも WorkflowLogBase テーブルに作成されます。業務プロセス フロー(BPF) は、BPF ステージ遷移と BPF のアクション ログも WorkflowLogBase テーブルに格納します。

組織でワークフローやビジネス プロセス フローを頻繁に使用している場合、これらのテーブルは時間の経過とともに大きくなり、最終的にはパフォーマンスの問題を引き起こし、組織のデータベース内のストレージを過剰に消費するほど大きくなります。


書かれているのと全く同じ状況ですね!

ページ内に削除方法の記載がありますので、それに習い「設定」に「一括削除」から設定します。

dataverse03.jpg

「新規」アイコンをクリックすると、「一括削除ウィザード」が始まりますので、


検索:システムジョブ
条件を、
システムジョブの種類:次の値と等しい:ワークフロー
ステータス:次の値と等しい:成功しました

dataverse04.jpg

この内容で実行しますが、なぜか一括削除ジョブがキャンセルされてしまいます。
まったく理由がわからないので、サービスリクエストをあげたところ、ご丁寧にご返答いただきました。

レコードの一括削除ジョブがキャンセルされる要因として、環境の管理者モードが有効になっている場合、バックグラウンド処理が無効化されていることが考えられます。

環境内のバックグラウンド処理が無効化されている場合、環境内のシステム ジョブ (非同期サービス) が実行されない動作となり、ジョブのステータスが "取り消し" となります。

 

<公開情報>

Title : 管理者モード

URL : https://learn.microsoft.com/ja-jp/power-platform/admin/admin-mode

 

---引用開始

バックグラウンド操作 (オプション)

ワークフローや Exchange との同期など、すべての非同期処理 (非同期サービスのアーキテクチャ) を無効にすることを選択します。

電子メールは送信されず、予定、連絡先、およびタスクのサーバー側同期は無効になります。 注意: バック グラウンド処理を無効にするには、管理モードを有効にする必要があります。

---引用終了

この環境は訳があって、一度データをバックアップから復旧させたことがあり、その際に管理者モードが有効になってしまってたのが原因でした。

上記ページに変更方法がありますので、設定変更したところ、きちんと実行されました。
dataverse05.jpg

これで一件落着かとおもいきや、容量が減らないんですよね💦

これには凄い悩みましたが、まったくわからないので諦めて寝たら、翌朝容量が減っていたので、どうやらこの表示はリアルタイムではなく、反映に少し時間がかかるみたいです。

dataverse02.jpg

まとめ

反映に時間がかかると書いてくれていれば悩まずに済んだのにー!ということで。
無事に容量を減らすことができました。
Leanにも記載がありますが、データを残す必要がなければ、30日ごとに自動削除設定も可能です。
容量問題で困ったときに、何かの手助けになれば幸いです。

dataverse06.jpg

お気軽にご依頼・ご相談ください

前へ

【PL-400 合格体験記】Power Platform Developer Associate 認定を取得しました

次へ

[資格取得してみました!] Microsoftの認定試験 PL-100取得体験記