Free up storage space
You can reduce the amount of storage space used by removing or deleting information from Dynamics 365 apps, such as:
- Dynamics 365 Sales
- Dynamics 365 Customer Service
- Dynamics 365 Field Service
- Dynamics 365 Marketing
- Dynamics 365 Project Service Automation
- Dynamics 365 Finance and Operations
This article gives you 15 methods to better manage storage.
Use one or more of these methods to control your total data storage usage. You can delete categories of data as the need arises or set up bulk deletion jobs to reoccur at set intervals. For example, you can delete notes, attachments, import history, and other data.
Warning
You can't restore your data once it's deleted. You might want to increase the amount of storage space in your Microsoft Dynamics 365 subscription instead of reducing your storage space used through deletion.
Prerequisites
An administrator security role is required. All methods (except three and five) require this role, such as System Administrator. An admin role gives you permission to delete records in bulk and delete system jobs.
Understand how storage works
- Storage consumed doesn't directly correspond to the size reported in Microsoft Dataverse for Apps. Consumption includes extra storage for metadata and encryption. For example, removing 10 MB of storage from a file doesn't mean the file size is reduced by 10 MB.
- Some platform operations require you to wait 24-36 hours to confirm data size changes. These operations include upgrades to new versions and introduction of new workflows. Such operations require system adjustments that might result in a momentary size increase report.
Freeing storage for Dataverse
Note
The system can take up to 72 hours to update storage information. We recommend waiting up to 72 hours and monitoring your storage.
Use the following methods to free up storage for each of the capacity types.
Storage | Affected Table(s) | Method |
---|---|---|
Database | ||
WorkflowLogBase | Method 1: Delete bulk email and workflow instances using a bulk deletion job | |
AsyncOperationBase | Method 2: Evaluate and delete suspended workflows | |
DuplicateRecordBase | Method 7: Remove bulk duplicate detection jobs and associated copies of duplicate records | |
ImportJobBase | Method 8: Delete bulk import instances using a bulk deletion job | |
BulkDeleteOperationBase | Method 9: Delete bulk deletion job instances using a bulk deletion job | |
various | Method 11: Remove unrequired tables and columns from Dataverse search | |
ActivityPointerBase, EmailBase, EmailHashBase, ActivityPartyBase, and other activity tables | Method 12: Remove unrequired data from activity tables | |
Postbase, PostCommentBase, PostFollowBase, PostLikeBase, PostRegardingBase, PostRoleBase | Method 13: Remove unrequired Activity Feeds records | |
ExchangeSyncIdMappingBase | Method 14: Modify Item Level Monitoring Settings | |
TraceLogBase | Method 15: Remove unrequired Trace (Alert) records | |
File | ||
Attachment | Method 3: Remove email attachments using Advanced Find | |
Attachment | Method 4: Remove email messages with attachments using a bulk deletion job | |
Attachment | Method 5: Remove notes with attachments using Advanced Find | |
Attachment | Method 6: Remove notes with attachments using a bulk deletion job | |
Log | ||
AuditBase | Method 10: Delete audit logs | |
PluginTraceLogBase | Delete plug-in trace logs using a bulk deletion job |
Reduce file storage
Method 3: Remove email attachments using Advanced Find
Warning
If you delete this data, attachments are no longer available in customer engagement apps. However, if you saved attachments in Office Outlook, they're still there.
Sign in to the Power Platform Admin center.
Select Environments, select an environment from the list, and then select Open.
In the upper-right corner, select Advanced Find ().
In the Look for list, select Email Messages.
In the search criteria area, add criteria, for example:
Attachments (Item)
File Size (Bytes) – Is Greater Than - In the text box, type a byte value, such as 1,048,576 (binary for 1 MB).
Choose Results.
You now have a list of email messages that have attachments that are larger than 'X' bytes. Review the emails and delete the attachments as needed.
Method 4: Remove email messages with attachments using a bulk deletion job
Warning
If you delete this data, attachments are no longer available in customer engagement apps. However, if you saved attachments in Office Outlook, they're still there.
In the Power Platform Admin center, select an environment.
Select Settings > Data management > Bulk deletion. In the menu bar, select New. The Bulk Deletion Wizard opens.
Choose Next.
In the Look for list, select Email Messages.
In the search criteria area, add similar criteria, for example:
Status Reason – Equals – Sent or Received
Actual End – Older Than X Months – 1
Attachments (Item)
File Size (Bytes) – Is Greater Than – In the text box, type a byte value, such as 1,048,576 (binary for 1 MB).
Group the first two criteria rows:
Choose Next.
In the Name text box, type a name for the bulk deletion job.
Select a date and time for the job start time; preferably a time when users aren't in customer engagement apps.
Select the Run this job after every check box, and then in the days list, select the frequency you want the job to run.
If you want a notification e-mail sent, select the Send an email to me (myemail@domain.com) when this job is finished check box.
Choose Next, review the bulk deletion job, and then choose Submit to create the recurring job.
Method 5: Remove notes with attachments using Advanced Find
Warning
If you delete this data, notes and their associated attachments are no longer available in customer engagement apps.
Sign in to the Power Platform Admin center.
Select Environments, select an environment from the list, and then select Open.
In the upper-right corner, select Advanced Find ().
In the Look for list, select Notes.
In the search criteria area, add similar criteria, for example:
File Size (Bytes) – Is Greater Than – In the text box, type a byte value, such as 1048576.
Choose Results.
You now have a list of attachments that are larger than the size you specified.
Select individual or multiple attachments, then choose Delete (X).
Method 6: Remove notes with attachments using a bulk deletion job
Warning
If you delete this data, notes and their associated attachments are no longer available in customer engagement apps.
In the Power Platform Admin center, select an environment.
Select Settings > Data management > Bulk deletion. In the menu bar, select New. The Bulk Deletion Wizard opens.
Choose Next.
In the Look for list, select Notes.
In the search criteria area, add similar criteria, for example:
File Size (Bytes) – Is Greater Than – In the text box, type a byte value, such as 1048576.
Created On – Older Than X Months – 1
Group the two criteria rows:
Choose Next.
In the Name text box, type a name for the bulk deletion job.
Select a date and time for the job start time; preferably a time when users aren't in customer engagement apps.
Select the Run this job after every check box, and then in the days list, select the frequency you want the job to run.
If you want a notification e-mail sent, select the Send an email to me (myemail@domain.com) when this job is finished check box.
Choose Next, review the bulk deletion job, and then choose Submit to create the recurring job.
Reduce log storage
Microsoft is migrating audit logs to a new storage location. Environments whose data migration is complete can use the new audit delete method. You can identify an environment with completed migration with the Auditing card near the Environment details.
Method 10: Delete audit logs - legacy process
When you enable auditing, customer engagement apps create audit logs to store the audit history of the records. You can delete audit logs to free space when they're no longer needed.
Warning
When you delete an audit log, you can no longer view the audit history for the period covered by that audit log.
Sign in to the Power Platform Admin center.
Select Environments, select an environment from the list, and then select Open.
In the upper-right corner of an app, select Settings () > Advanced Settings > Settings > Auditing.
In the Audit area, choose Audit Log Management.
Select the oldest audit log, then choose Delete Logs.
In the confirmation message, choose OK.
Note
You can only delete the oldest audit log in the system. To delete more than one audit log repeat deleting the oldest available audit log until you have deleted enough logs.
Method 10: Delete audit logs - new process
Note
The system can take up to 72 hours to update storage information for the deletion of audit logs. After choosing to delete audit logs, we recommend waiting up to 72 hours and monitoring your storage to see avialable log capacity.
Microsoft is migrating audit logs to a new storage location. Environments whose data migration is complete can use the new audit delete experience.
When you enable auditing, customer engagement apps create audit logs to store the audit history of the records. You can delete the audit logs to free space when they're no longer needed.
Warning
When you delete an audit log, you can no longer view the audit history for the period covered by that audit log.
Sign in to the Power Platform Admin center, and then select an environment.
Under Auditing, Free up capacity, select Delete audit logs.
Select to delete logs either by table, access type, or by date.
Setting Description System job name Delete logs by table Select one or more tables for which you want to delete audit logs. By default all tables in the environment are shown, whether or not they contain audit data. Delete logs for [number of] tables. Delete access logs by people and systems Delete all access logs for all users and systems. Delete access logs. Delete all logs up to and including the selected date Delete logs including the date selected. Delete all logs before and including [timestamp]. Select Delete, and then confirm the deletions.
All data is deleted in an asynchronous background system job that may take up to 72 hours to be scheduled to run.
To monitor the status of audit delete jobs, see the next section.
Monitor the status of audit delete jobs in the Power Platform Admin center
In the Power Platform Admin center, select an environment.
Select Settings > Data management > Bulk deletion.
Review the system job and the Status Reason column for details about the status of your job.
Select the job to see more details about the results of the delete job.
Reduce database storage
Method 1: Delete bulk email and workflow instances using a bulk deletion job
Warning
If you delete this data, you will no longer be able to tell if an email was sent through bulk email or if a workflow rule ran against a record. The emails that were sent and the actions that ran against the record in the workflow will remain.
In thePower Platform Admin center, select an environment.
Select Settings > Data management > Bulk deletion. In the menu bar, select New. The Bulk Deletion Wizard opens.
Choose Next.
In the Look for list, select System Jobs.
In the search criteria area, add similar criteria similar, for example:
System Job Type – Equals – Bulk E-mail; Workflow;
Status Reason – Equals – Succeeded
Completed On – Older Than X Months – 1
Group the three criteria rows:
Choose Next.
In the Name text box, type a name for the bulk deletion job.
Select a date and time for the job start time; preferably a time when users aren't in customer engagement apps.
Select the Run this job after every check box, and then in the days list, select the frequency you want the job to run.
If you want a notification e-mail sent, select the Send an e-mail to me (myemail@domain.com) when this job is finished check box.
Choose Next, review the bulk deletion job, and then choose Submit to create the recurring job.
Method 2: Evaluate and delete suspended workflows
Sometimes workflows enter a suspended state because there's a condition that can't be met or some other reason that doesn't allow the workflow to continue.
Warning
Some workflows are in a suspended state because they're waiting for a condition that has not yet been met, which is expected. For example, a workflow may be waiting for a task to be completed.
Sign in to the Power Platform Admin center.
Select Environments, select an environment from the list, and then select Open.
In the upper-right corner, select Advanced Find ().
In the Look for list, select System Jobs.
In the search criteria area, add similar criteria similar, for example:
System Job Type – Equals – Workflow
Status Reason – Equals – Waiting
Group the two criteria rows:
Choose the arrow next to each criteria row, and then choose Select Row.
With both rows selected, choose Group AND.
Choose Results.
In the results window, you can open each item to determine whether the workflow can be deleted.
Method 7: Remove bulk duplicate detection jobs and associated copies of duplicate records
Every time that a duplicate detection job runs, a copy of each duplicate record is stored in the database as part of the duplicate detection job.
For example, if you have 100 duplicate records, every time that you run a duplicate detection job that finds these duplicates, whether it's manual or reoccurring, those 100 duplicate records are stored in the database under that instance of that duplicate job until the duplicates are merged or deleted, or until the instance of that duplicate detection job is deleted.
In the Power Platform Admin center, select an environment.
Select Settings > Data management > Duplicate Detection Jobs.
Select the duplicate detection job instances you want to delete and then choose Delete (X).
To avoid wasting storage space, make sure duplicates are resolved promptly so that they aren't reported in multiple duplicate detection jobs.
Method 8: Delete bulk import instances using a bulk deletion job
Every time you perform a bulk import, there's a system job associated with that import. The system job details show, which records imported successfully and which records failed.
Warning
After you delete these bulk import jobs, you will not be able to see what data was imported and you cannot roll back the import.
In the Power Platform Admin center, select an environment.
Select Settings > Data management > Bulk deletion. In the menu bar, select New. The Bulk Deletion Wizard opens.
Choose Next.
In the Look for list, select System Jobs.
In the search criteria area, add similar criteria, for example:
System Job Type – Equals – Import
Status Reason – Equals – Succeeded
Completed On – Older Than X Months – 1
Group the three criteria rows:
Choose Next.
In the Name text box, type a name for the bulk deletion job.
Select a date and time for the job start time; preferably a time when users aren't in customer engagement apps.
Select the Run this job after every check box, and then in the days list, select the frequency you want the job to run.
If you want a notification e-mail sent, select the Send an email to me (myemail@domain.com) when this job is finished check box.
Choose Next, review the bulk deletion job, and then choose Submit to create the recurring job.
Method 9: Delete bulk deletion job instances using a bulk deletion job
When you're deleting bulk data, a bulk deletion system job is created and can be deleted.
Warning
After you delete these jobs, you will lose the history of the prior bulk deletion jobs that you've run.
In the Power Platform Admin center, select an environment.
Select Settings > Data management > Bulk deletion. In the menu bar, select New. The Bulk Deletion Wizard opens.
Choose Next.
In the Look for list, select System Jobs.
In the search criteria area, add similar criteria, for example:
System Job Type – Equals – Bulk Delete
Status Reason – Equals – Succeeded
Completed On – Older Than X Months – 1
Note
You could also delete jobs that have failed or been canceled.
Group the three criteria rows:
Choose Next.
In the Name text box, type a name for the bulk deletion job.
Select a date and time for the job start time; preferably a time when users aren't in customer engagement apps.
Select the Run this job after every check box, and then in the days list, select the frequency you want the job to run.
If you want a notification e-mail sent, select the Send an email to me (myemail@domain.com) when this job is finished check box.
Choose Next, review the bulk deletion job, and then choose Submit to create the recurring job.
Method 11: Remove unrequired tables and columns from Dataverse search
Tables and tables fields enabled for Dataverse search affect the database storage capacity.
- To revise the list of tables selected for Dataverse search results, see Select entities for Dataverse search.
- To revise the list of fields selected for each table for Dataverse search results, see Select searchable fields and filters for each table.
Method 12: Remove unrequired data from activity tables
These tables store records for activities such as emails, appointments, tasks, calls, etc. To learn more about what data these tables contain, see Activities data model and storage.
Method 13: Remove unrequired Activity Feeds records
These tables store post related records for Activity Feeds functionality. To free space, you can delete any Post records, which are no longer required.
Method 14: Modify Item Level Monitoring Settings
The ExchangeSyncIdMappingBase table contains references between Dynamics 365 records and the corresponding records in Microsoft Exchange. This table is used by the Server-Side Synchronization feature, which enables synchronization of emails, appointments, contacts, and tasks between Dynamics 365 and Microsoft Exchange.
Extra rows are stored in this table to help with troubleshooting the synchronization of specific items. For more information, see Troubleshoot item level Server-Side Synchronization issues with Microsoft Dynamics 365. This article provides details regarding how you can reduce the default duration (three days) of how long these troubleshooting records exist. This troubleshooting feature can also be disabled. Rows unrelated to this feature can't be deleted and are required for Appointment, Contact, and Task synchronization.
Method 15: Remove unrequired Alerts (trace logs)
The Server-Side Synchronization feature logs alerts when different events occur such as a mailbox encountering an error or warning. There are also informational alerts logged when you enable a mailbox. You can view these Alerts when you view a Mailbox or Email Server profile within the Email Configuration area of Advanced Settings. While these records appear in a tab called Alerts, they're actually Trace records. To free space consumed by these Alerts, you can delete any Trace records, which are no longer required. Trace records can be deleted within the Alerts tab of an Email Server Profile or Mailbox record. They can also be deleted using Advanced Find or a Bulk Delete job.
You can also configure which levels of alerts are logged. See System Settings Email tab.
Free up storage used by flow approvals
See Delete approval history from Power Automate.
Free up storage used by the SubscriptionTrackingDeletedObject table
See Subscription Tracking Deleted Object Table.