I mentioned earlier (here) that we are clearing some old data out of a SharePoint site. Aside from the various client side issues with trying to do that, you also have to figure out how to clean up SharePoint. SharePoint has a multi-tier Recycle Bin. There is a pretty good article about how it works in SharePoint 2010 (How the Recycle Bin Works in SharePoint) and the concept is pretty much the same for SharePoint 2013.
If you go to Site Settings you see something similar to this:
If you go down to the “Site Collection Administration” and click on “Recycle Bin” it takes you to the “End user Recycle Bin items”.
You can change the view to “Deleted from end user Recycle Bin” and see the second level Recycle Bin contents:
Once it is gone from there, you can think about shrinking the database.
Here is where I learned what I just said:
I was asked to reduce a content DB recently, heres what I found. Whilst the customer was great in deleting content from their sites, SharePoint has a 2 stage recycle bin, so whilst the items were deleted from the site level recycle bin there was still 30 days left on the site collection recycle bin. So please ensure you check that and flush it.
Yes you’ll find that the DB will still be large at this stage. So as described above, use SQL Management studio and locate your content database in question, it won’t be the SharePoint configuration database as the example shows above but rather WSS_Content_something in all likelihood.
After that you find you will be able to shrink the database file (mdf). BUT! beware chances are your database is set to full recovery mode and when the shrink operation takes place all it will do is blow the transaction log out as many GB as you have removed. So the choice here is you might want to switch the DB into simple mode and then perform the shrink operation> I was lucky in that I had sufficient disk space when the shrink operation was taking place and removing 40GB blew the logs out 40GB, once that was complete the mdf was then shrunk 40GB. After this I switched the DB to simple mode and shrank the log file, then changed it back to full.
One word of warning. When you go delete that data, if it is a lot of data, SharePoint becomes a bit less responsive. You may want to do that outside of normal working hours.