[object Object]

You opened the Power Platform Admin Center, the database storage gauge is orange, and your inbox has three “cannot save” tickets. Here is the reduction playbook in priority order.

Understand which storage is the problem

Dataverse splits capacity into Database, File, and Log. The headline gauge is misleading. Click in to see which is over.

  • Database: row data, indexes, audit table.
  • File: file column attachments, note attachments.
  • Log: audit logs and plugin trace logs.

Each has a different reduction lever.

Database: kill the audit table first

The auditbase table is the largest table in 80% of stressed environments. Audit retention is environment-wide, not per-table. Reduce the retention from the default to 90 days for non-regulated environments.

Power Platform Admin Center -> Environments -> Settings 
-> Auditing -> Audit retention period -> 90 days

Then run a Bulk Delete to purge old audit rows. Storage drops within 24 hours.

Database: deactivate completed BPF instances

As covered separately, BPF tables grow silently. Find them via Solutions Explorer or via this query:

<fetch>
  <entity name="entity">
    <attribute name="logicalname" />
    <filter>
      <condition attribute="logicalname" operator="like" value="%process%" />
    </filter>
  </entity>
</fetch>

Bulk deactivate BPF instances older than 12 months for processes where stage history is not regulatory.

File: triage attachments

The annotation (Note) and activitymimeattachment tables typically dominate file storage. Move attachments to SharePoint via the Dataverse SharePoint integration. Existing notes can be migrated with a Power Automate flow that moves the binary, replaces the note with a link, and clears the documentbody.

Log: trim plugin trace logs

plugintracelog retains rows based on the trace setting. Set Plugin and Custom Workflow Trace Settings to “Off” or “Exception” in production. “All” is for active debugging only and balloons log storage.

Bulk Delete is your friend

Bulk Delete jobs run asynchronously, respect security, and can be scheduled monthly. Build one for each large junk table:

  • Old email rows with statecode = 1 and actualend < addmonths(today, -24).
  • Closed incident rows older than retention policy.
  • Completed workflowlog rows older than 30 days.

When you genuinely need more

Capacity add-ons exist and they are not cheap. Buy them only after you have actually run the cleanup. Most environments recover 30-50% of database storage with audit and BPF cleanup alone.

What to do this week

Pull the top 20 tables by row count via the storage capacity report. Anything not on your business map is a cleanup candidate.

[object Object]
Share