In this post we will look into how I did “Farm Content Size Reporting” part of the project,
We have two types of reporting in this functionality.
This can be useful for a very large size farm and where there could be multiple databases per Web Applications and many Site Collections in each Content Database. This kind of reporting/data is not available OOTB so I developed my own custom utility using SharePoint Object Model which can pull the size data from the farm and can log it into my custom database. I can connect to my custom logging database from my SQL Business Intelligence Project and have the Reports created the way I want. Utility I can schedule on any of the servers in the farm and that can keep pushing the reporting data in my DB. And, at SQL side we can schedule a SQL job which can flush the reporting data from the DB before our utility pushes the new data per the defined schedule.
Content Databases per Web Applications Report
Site Collections per Content Databases Report
For my custom DB, I created two tables in my custom DB as below
Now that we have got the structure of the reporting and how the components can be integrated, in my next post I will mention a few code snippets to get Content DB & Site Collection size details using SharePoint Object Model.