Problem Statement:

Data in you CRM is critical and storage space for CRM is expensive i.e. $9.99/GB/Month. Often, CRM space is taken up by Attachments and background data (ex: completed system jobs and it is difficult to realize where our space is being consumed.

This blog is about some quick tips to free your storage space and optimize CRM data usage to reduce costs.

Step1: Request Consumption of your storage in CRM to Microsoft Support

  1. We can create a Service Request with Microsoft requesting the storage details of CRM environment. Here’s how you can create a service request under the correct category in Office 365 Service Request to request the storage details of CRM. The type of Service Request should be Dynamics 365.

  • Then, select Feature as Online Service Availability and Administration Center and Symptom as storage.
    Mention your description something like the below:
  • Click Next and provide your details, email and phone number.
  • Once Microsoft acknowledges this, they will provide you details of the top 10 utilized tables in Dynamics 365 / CRM.
  • You’ll get an email from a Microsoft Support Representation mentioning the details of the storage consumption something like this:

  • In this example I used, I could see that Attachments was the table that consumed about 13GB of data! That is very expensive to store attachments in CRM.
  • So first, we will proceed towards how we can curb the usage of storage in CRM by first putting all attachments in SharePoint Online (which is available in most Office 365 plans). Since, SharePoint space is way cheaper than CRM ($0.20/GB/Month) and SharePoint provides 1TB in my base subscription at no additional cost.

Step 2: Use PowerAttachment by PowerObjects to migrate attachments to SharePoint

A very useful tool is PowerAttachment by PowerObjects.

  1. PowerAttachment moves your attachments from CRM to SharePoint, thus freeing up critical space in CRM which can be utilized for important data
  2. Once the PowerAttachment is configured with your CRM / D365, the attachments are moved to SharePoint and the attachment link in the parent items, say, email – is replaced by the link to the SharePoint location to where the file was moved.
  3. Thus, moving attachments to SharePoint frees a massive amount of space from CRM which usually attachments take and moves them over to a cheaper storage option.

Step 3: Bulk Delete Background Data – Mailbox Alerts and Workflow/System Jobs Examples

Now, among several types of background data, what applied in my case, was the alerts created behind the scenes since I configured the Mailboxes of users for Server Side Sync. As you can see in the above, you can see that there were about 3,808,246 records when I requested them.

That was consuming way too much of data that was irrelevant to me. So, I chose to eliminate the same using Bulk Delete.

Mailbox Alerts

  1. Mailbox Alerts are something created by Mailboxes when certain tests/authentication fails. In my scenario, they created gigantic amount of records.
  2. Using Bulk Delete, I queries all of those and started the Bulk Delete to Delete them.
  3. Here, we will use Bulk Delete. Navigate to Settings > Data Management > Bulk Record Deletion.
  4. I defined the Search Criteria to query Traces entity and I didn’t select any criteria since I wanted all the records to be removed.

    And this is how records will be shown. The above example shows very less records. Let’s assume there are huge records like more than 100,000 records.

  5. Depending on how many records are queries, the Bulk Delete operation took several hours but freed a great deal of expensive storage space.

Completed System Jobs / Workflow Jobs
Another important chunk of huge data is consumed by completed, failed System Jobs and workflow jobs from the System which take up hundreds and thousands of records of data.

  1. As shown in the above example, I am using Bulk Deletion job to remove the System Jobs/Workflow jobs.
  2. Below is the criteria I select considering that I might need to look at a few records in recent past and delete the rest of them:

  • Also, I kept this Bulk Deletion job to re-occur every 90 so that it takes a fresh batch of records older jobs created in 1 month’s span.

Above are only 2 of several types of data that can be cleaned depending on what is needed.

Also, more effective ways are also mentioned by Microsoft. Here’s the link to the same:


The post Freeing Storage Space in Dynamics 365 appeared first on CloudFronts - Microsoft Dynamics 365 | Power BI | Azure.