How to Recover A Single Document In SharePoint
Once upon a time at a customer site (August of last year, in fact), one of the users made some changes to an Excel document that he couldn’t roll back. Versioning was not enabled. He said he would lose like 60 hours of work if we couldn’t recover it. So here is what I did:
On the SQL instance hosting the content database, I restored the 8/29/11 backup of “WSS_CustomerSite_Content” as WSS_ CustomerSite _Recovery_083111
On the SharePoint Server,
Progress: Import completed.
Finish Time: 8/31/2011 3:20:44 PM.
Total Objects: 2002
Finished with 0 warnings.
So the process copied the document library into the new website (with 2002 documents) and allowed me to browse to the previous version of the Excel spreadsheet, download it, and email it to the user. Yes, I could have restored the doc library over the top of the production site, but again, that could have disrupted others.
All this could have been prevented by turning on versioning in the document library. It’s off by default because each version snapshot takes up space and in a large library this could grow pretty significantly. You can keep it under control by specifying how many versions to retain (suggestion: 3 major versions).
Still, this process is not very elegant. In extreme cases like this, you have to touch SQL Server, Central Admin, and PowerShell just to get a document back. What would make it elegant? A third party backup solution.
This is what I’ve been telling people for years, because the average customer is not going to want to go through that just to restore a document. Add a BackupExec solution, though, where the agent allows the customer to browse to the version of the document they want, and restore it in place, with no fuss… this is the expected ease of use.