In my role as a Solution Architect, I am frequently asked by customers what would be there Database Capacity requirements when they go live, Microsoft has not provided many details on this subject, unfortunately, I also looked around and not much has been written on this topic to provide any guidance so I decided to create an XRMToolbox plugin that will help community and me
The calculation is based on the SQL Datatype sizing, as you are aware the Dataverse fields are stored as SQL fields and I have used my own analysis and some articles I found to come up with a sizing formula
Referenced Articles:
An overview of SQL Server data types (sqlshack.com)
Types of fields and field data in Dynamics 365 Customer Engagement (on-premises) | Microsoft Docs
The tool loads all the entities in the Dataverse and based on their field types it comes up with an estimated row size, the tricky bit is how to calculate the variable length field such as single line or multi lines of text. I will be improving the calculation methods with more and more research but take this as a starting point and it will definitely be improved, for the time being, put a 15-20% +/- error contingency when quoting these estimates.
To use it, load the entities, loading without record count is faster as its only loading the metadata, once the entities are loaded, put in your projections in the Estimated # of records field and click Calculate
As I said I would be continuously improving this tool and if you have any feedback, issues or suggestions please send that to me at my email at irfan@irfanrizvi.com
Plugin URL: Dataverse Database Capacity Estimator · XrmToolBox
