We do not have a tool or algorithm to estimate the size of the database. (Feature Request) From my experience working with customers, 95% of database are under 100GB in size, I would say most are under 50GB. And our smaller customers get by with the 10GB limit with SQL Express with proper maintenance.
There are many variable that affect the database size, these are the primary variables.
- How many machines are managed.
- How often scans\deployments are performed.
- Asset vs Patch scans. Asset scans add a considerable amount to the the database, we suggest 1-2 Asset scans a month.
- How much historical data to need to keep. Are you keeping years of data? Are you rolling up data from multiple Protect consoles.
Protect provides a few options for maintaining the size of your database and they are mentioned in this document Shavlik Protect Database Maintenance - Purging or Cleaning Up a Large Database . I would suggest configuring a weekly job to run that includes re-indexing. I would set it to keep 90 days of data then adjust as needed. Outside of Protect you can also shrink the size of your database (after deleting database items) by following the instructions in this document How To: Shrink a Database .