[どうやって消す?]Dataverse 容量を消費するログの存在
久しぶりにブログ書きます。小林です。
今回は、自社で起こったDataverseの容量消費対策について書きます。
気がついたらキャパシティオーバー!
かれこれ4年ほど利用しているDataverseの環境がありました。
データベース容量もかなり使っていますが、なにより増え続ける「ファイル」容量が気になります。
この時点でギリギリでしたが、数日してキャパシティーオーバー、、、💦
このファイルってなに??
何が容量を取っているのか?
それを調べるために「容量」から「ファイル使用量」調べると「AsyncOperation」が、かなり多いのがわかりました。そもそも「AsyncOperation」と言われてもDataverseの内部ファイルなので、何を指しているのかわかりません💦
調べてみると、
■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 テーブルに格納します。
組織でワークフローやビジネス プロセス フローを頻繁に使用している場合、これらのテーブルは時間の経過とともに大きくなり、最終的にはパフォーマンスの問題を引き起こし、組織のデータベース内のストレージを過剰に消費するほど大きくなります。
書かれているのと全く同じ状況ですね!
ページ内に削除方法の記載がありますので、それに習い「設定」に「一括削除」から設定します。
「新規」アイコンをクリックすると、「一括削除ウィザード」が始まりますので、
検索:システムジョブ
条件を、
システムジョブの種類:次の値と等しい:ワークフロー
ステータス:次の値と等しい:成功しました
この内容で実行しますが、なぜか一括削除ジョブがキャンセルされてしまいます。
まったく理由がわからないので、サービスリクエストをあげたところ、ご丁寧にご返答いただきました。
レコードの一括削除ジョブがキャンセルされる要因として、環境の管理者モードが有効になっている場合、バックグラウンド処理が無効化されていることが考えられます。
環境内のバックグラウンド処理が無効化されている場合、環境内のシステム ジョブ (非同期サービス) が実行されない動作となり、ジョブのステータスが "取り消し" となります。
<公開情報>
Title : 管理者モード
URL : https://learn.microsoft.com/ja-jp/power-platform/admin/admin-mode
---引用開始
バックグラウンド操作 (オプション)
ワークフローや Exchange との同期など、すべての非同期処理 (非同期サービスのアーキテクチャ) を無効にすることを選択します。
電子メールは送信されず、予定、連絡先、およびタスクのサーバー側同期は無効になります。 注意: バック グラウンド処理を無効にするには、管理モードを有効にする必要があります。
---引用終了
この環境は訳があって、一度データをバックアップから復旧させたことがあり、その際に管理者モードが有効になってしまってたのが原因でした。
上記ページに変更方法がありますので、設定変更したところ、きちんと実行されました。
これで一件落着かとおもいきや、容量が減らないんですよね💦
これには凄い悩みましたが、まったくわからないので諦めて寝たら、翌朝容量が減っていたので、どうやらこの表示はリアルタイムではなく、反映に少し時間がかかるみたいです。
まとめ
反映に時間がかかると書いてくれていれば悩まずに済んだのにー!ということで。
無事に容量を減らすことができました。
Leanにも記載がありますが、データを残す必要がなければ、30日ごとに自動削除設定も可能です。
容量問題で困ったときに、何かの手助けになれば幸いです。
フォローしませんか?
お気軽にご依頼・ご相談ください