Wednesday, August 22, 2012 2:51 PM
I'verecently been assigned the task of supporting our CRM 2011 application and have found that the database that is used for this application has a lot of twists
and turns. <o:p></o:p>
Does anyoneknow of some good written resources that help with learning the tables inside of the CRM database?When I read articles that refer to deleting records from
specific tables, I'd like to have a better handle over what exactly the ramifications are for making those deletions.<o:p></o:p>
Any good resources available are greatly needed.<o:p></o:p>
Wednesday, August 22, 2012 3:47 PMModerator
Below is a link the ERD diagrams for the tables - however the reality of the matter is you should not be making updates and deletes using direct SQL statements. This is not supported by Microsoft. This isn't saying a person doesn't have the capacity to make the changes, it is more toward keeping the integrity of the database intact as data is often spread over multiple tables. If possible you should be using features within the application itself to make changes (Advanced Find, Bulk Edit/Delete) or use the SDK to create an application to make you updates.
- Proposed As Answer by JLattimerMicrosoft Community Contributor, Moderator Wednesday, August 22, 2012 3:47 PM
Wednesday, August 22, 2012 4:08 PM
Thanks for the information that you've provided; and I agree that I would rather use the application for any/all changes needed. However, I also would like to understand the database tables. I've already downloaded the ERDs and they do not even begin to touch on the multitude of tables in CRM. Columns values in the tables produce a different result to the records within the application and that is what I seek to understand.
For example, in the ActivityPointerBase table, if the Status Code field = 2,3, or 4 that means a FAX activity should be marked as "Closed". How do I know what any other value in the column means?
These are the types of questions I am interesting in resolving by learning what the database tables/columns are and what data is stored. I hope that clarifies my question more.
In my experience, even if I do not plan to make any inserts or deletes directly to the database, it is a good idea "for me" to know where inserts and deletes are taking place from within the application; as well as where bottlenecks may occur when the application is not doing what it should.
Wednesday, August 22, 2012 4:36 PMModerator
You might want to then start digging through TechNet and through the customization screen of the different entities in order to start piecing this together for yourself. I don't believe you are going to find any one document that ties everything together. I would also look at the views that are in place as they will give you a good idea of where all the data comes from.
- Marked As Answer by RB_2012 Wednesday, August 22, 2012 6:07 PM
Wednesday, August 22, 2012 6:50 PM
I appreciate your candor. I will work with the views and do more searches in TechNet.
Thursday, August 23, 2012 9:26 AM
> For example, in the ActivityPointerBase table, if the Status Code field = 2,3, or 4 that means a FAX activity should be marked as
> "Closed". How do I know what any other value in the column means
I strongly recommend not using the Tables as means for your reports. You bypass the whole security concept. Instead use the Filtered Views - in your case it would be the FilteredActivityPointer. Here you get not only the status value, but also the explaination.