Personalized Community is here!
Quickly customize your community to find the content you seek.
Microsoft Customer Co-creation
Help impact how the tools and services you rely on are developed. Microsoft Customer Co-creation connects you directly with our engineers so you can provide feedback before a single line of code is written. Interested? Learn more at Microsoft Customer Co-creation
2021 Release Wave 1Discover the latest updates and new features to Dynamics 365 planned April 2021 through September 2021.
Release overview guides and videos Release Plan | Preview 2021 Release Wave 1 Timeline
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance and Operations TechTalks | Customer Engagement TechTalks | Upcoming TechTalks | All TechTalks
This article contains steps on how to reduce the capacity consumption of ActivityPointerBase and ActivityPartyBase tables, which involve deleting custom data. Following deletion, these records will not be available anymore. Before proceeding with deleting any data in this table, please make sure to review your customizations, your workflows and plugins running on delete operations, and review cascade delete behaviors, in order to make sure that no data gets unintendedly deleted in the process. These actions should be tested first in a sandbox environment before proceeding with the final delete operation.
What is ActivityPointerBase?
The ActivityPointerBase table stores any activity or task that is performed by a user in Dynamics 365 CRM.
There are different types of activities that can be created whose links are stored in this table, along with the user and/or team associated to that activity, which is stored in ActivityPartyBase table. As such, when attempting to reduce the consumption of ActivityPointerBase, the consumption of ActivityPartyBase will also be reduced.
The following table lists the activity types which can be found in CRM (but not limited to):
Please bear in mind that this includes not just OOB activity entities, but also any custom activity entities that users may have created in Dynamics 365.
How to retrieve the data from ActivityPointerBase
Using Advanced Find and Chart Capabilities
Through Advanced Find, you will be able to select the Activities entity and retrieve all the data that is present in this table; alternatively, you can also filter by Activity Type and Status, in order to get more streamed results.
Users can also leverage the Chart built-in functionalities to display activities records by activity type, in order to understand what records are occupying the most space in the table. This is accessible by going to Activities, change the view to All Activities (for example), select “Show Chart” and filter the Activities by Type:
Using SQL Management Studio
We can use SQL Management Studio to query online environment data, by establishing a connection to the database as per the below:
select ActivityTypeCodeName as 'Activity Name',count(*) as 'Number of Records' from [dbo].[activitypointer] group by ActivityTypeCode, ActivityTypeCodeName order by [Number of Records] desc
Through this query, the user will be able to understand the type of activities and the amount of rows each activity type currently holds. Based on these results, we can create bulk deletion jobs targeted to address a specific activity type.
If you wish to know more on how to leverage SQL to query your CRM online database, please review the following article: Use SQL to query CDS data.
How to Delete the Data
There are also two options to delete the data, depending on the size of the dataset – through Advanced Find or by running a Bulk Delete Job.
If you are looking to delete smaller datasets, the records can be deleted through the same window of Advanced Find. Select the records you wish to delete and choose “Delete Activity”.
For larger datasets, the best option is to create a Bulk Delete Job targeting the specific entity type you wish to delete, such as Appointments, Letters, Phone Calls, Tasks.
Through these steps, it will be possible to reduce the consumption of ActivityPointerBase.
Great content. Thanks for sharing.
I would recommend you to apply for a blog so that you can share more wonderful articles more conveniently.
Awesome content Carolina!!! Thanks for sharing!!
Big Thank you Caro for adding all related information in one article !
Business Applications communities