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.

  1. Content Databases per Web Applications Report
  2. Site Collections per Content Databases Report

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

1

 

Site Collections per Content Databases Report

image

For my custom DB, I created two tables in my custom DB as below

Report_SiteCollectionDetails

image

 

Report_SiteCollectionDetails

image

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.