AKA… how to visualize the files you are storing in SharePoint.
*Update on the below after having spoken with the team that runs the internal Microsoft SharePoint farm (thanks Sam for information on the impact!). While everything mentioned does work, the approach has two downsides:
- It will not be entirely accurate… while it will display everything you can see as a user, it will not show everything that counts against your quota (including versions and recycle bin). It may be better than nothing, but more importantly…
- Mapping the drive with WebDAV (and then enumerating the contents of a site collection) causes some tremendously expensive operations to take place on the server side. This will pound the Web Front End servers, which can impact access times for everyone accessing the farm. You don’t want to be “that guy”.
The two quick and easy approaches to reducing the space used by your SharePoint site are:
- Empty your recycle bin. This will free up space from your quota, and move deleted items into the second-level recycle bin (where they can still be recovered by site collection administrators if necessary)
- Ensure that if lists/libraries are using versioning, that it has a realistic number of versions (as SharePoint stores a complete copy of documents for every version you have). If you have a frequently updated file with unlimited versions, you may be shocked at the amount of space it is taking up against your quota.
As my Dad used to say… TANSTAAFL: There Ain’t No Such Thing As A Free Lunch. If it was as easy to visualize storage as I show below in a supported and resource-kind manner, the SharePoint team would have already added it.
In SharePoint 2007, there was a useful tool underneath Site Collection Administration called “Storage space allocation” that led to storman.aspx underneath http://servername/_layouts/storman.aspx.
This storman tool allowed you to view how your space was being used within your site collection, and if you were filling up your site against your storage quota, you could show documents, document libraries, lists, and recycle bins, sorted by size or date. This was a great way to find large or old documents to delete and free up space.
On the back end, this was a resource intensive tool that could cause database blocking, and as such it did not make the cut for SharePoint 2010.
KB 982587 discusses some possible workarounds for the problem: The Storman.aspx page is removed from SharePoint Server 2010
The Storman.aspx page is used for storage management. For example, the page can show you the top 100 documents or document libraries in terms of size. Therefore, you can use the page to clean up some content from your site by deleting the large content that you no longer need. Because there is no replacement for this page, use one of the following methods to regain certain functionalities:
- Use Web analytics reports to analyze various aspects of sites and of site collections. For more information about the reports, visit the following Microsoft TechNet Web site:
View Web analytics reports (SharePoint Server 2010) (http://technet.microsoft.com/en-us/library/ee663487(office.14).aspx)
- Verify the version information of each document on the Version History page. To do this, follow these steps:
- Open the SharePoint Server Web site that contains the document.
- Point to the name of the document, click the drop-down list, and then click Version History.
- Use Windows Explorer to check the sizes of the documents that are in a document library. To do this, follow these steps:
- Click the document library name in SharePoint 2010 Central Administration.
- On the Library tab, click Open with Explorer.
- Right-click a document, and then click Properties.
- On the General tab, view the size of the document.
- Use the SPSite.StorageManagementInformation method to return information about storage management for the site collection. For more information about the method, visit the following Microsoft Developer Network (MSDN) Web site:
SPSite.StorageManagementInformation method (Microsoft.SharePoint) (http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsite.storagemanagementinformation.aspx)
Those solutions all work, although manually poking through document libraries in Explorer View is not my idea of a good time. As there really are no new problems… let’s see if we can use my favorite tool for visualizing why my hard drive is full, and apply it to finding out what is filling up a SharePoint site collection.
Windows allows you to map network drives via WebDAV. SharePoint allows you to access site collections via WebDAV. To combine the two, put the URL to your site collection in the Folder field of Windows’ Folder field, and you will end up with a drive letter mapped to your SharePoint site collection.
Download and install WinDirStat from http://windirstat.info/ (not a Microsoft product, so if it eats all the cookies in your house or forgets to rewind your VHS tapes… sorry about that). Select that network drive you just mapped, and hit OK.
WinDirStat will scan away for a few minutes, and come back with the view below. At a glance, I can quickly see that the majority of my files are stored in a particular site (the “offerings” and “delivery” subsites use up 84% of my space), and PowerPoint/Zip/WMV files are taking up the vast majority of space.
From here, you can drill down into the tree, select all files of a particular type, or just right click on some of the largest boxes and choose “Explorer Here”, which will open up a window in Windows that is opened to the document library or folder in SharePoint that holds that particular file.
You can then decide what to delete/archive/move to free up space. How’s that for an awesome way to visualize the files you are storing in SharePoint?
(P.S. This works fine in SharePoint 2007 too… I never thought to do it back in the day as I had storman available to show me my big/old files)