Kirk Liemohn is a Principal Software Engineer at ThreeWill. He has over 20 years of software development experience with most of that time spent in software consulting.
SharePoint Online Backup and Restore
With Office 365, Microsoft ensures some level of service by providing financial incentives if they do not meet a certain amount of uptime (if you are interested, see the Microsoft Online SLA or a good blog summarizing the SLA). Microsoft also ensures that your SharePoint Online data isn’t lost for any reason. Internally they manage backups on their own, but they do not provide any interface into accessing or restoring those backups.
That begs the question: What do you do if you really want to restore from a backup? Do you have any options?
It turns out that there are basically 4 options:
- Use the recycle bin and version history.
- Use a 3rd party tool for backup and restore (there are several).
- Manually backup sites, lists, and libraries (see: Information about manual migration of SharePoint Online content and How to back-up an Office 365 SharePoint Online site and data)
- Create an Office 365 support request (see: Restore options in SharePoint Online)
The recycle bin and version history are great, but they don’t solve every problem. Third party software is likely the way to go for many enterprises, but that is not my focus of this blog post. The third option above is limited and laborious (which means it won’t reliably occur).
Using an Office 365 support request to restore a backup may be a reasonable alternative and I’d like to focus on it for the remainder of this post. The Restore options in SharePoint Online link referenced above does not look like official Microsoft documentation, but at least it is on TechNet.com. I spoke with O365 support and got the same answer as the blog above, which I will summarize here since I have a few more pieces of information:
- Site collection backups are performed every 12 hours and are kept for 14 days.
- If you want to restore a backup, you need to create a support ticket and specify the earliest backup time, latest backup time, and optimal backup time. Say your site collection was messed up during the day on Tuesday. You could state the earliest backup time as close of business Monday (e.g., 6 PM), the latest backup time as open of business on Tuesday (e.g., 6 AM), and the optimal backup time as Tuesday at 4 AM. The support team will get you the best backup based on this information. You should have at least 12 hours between the earliest and latest times.
- The restoration is done to a site collection. The entire site collection will be replaced and any changes made after the backup time will be lost (must be re-done after the restore).
- Once a restore is requested, it may take 2 or more days for the restore to be performed. This is done based on O365 support’s triage process and the perceived priority of the request. The tenant license or overall number of users for the tenant does not change the priority.
If you know you are going to restore on top of an existing site collection, you may want to go ahead and lock the site collection so users don’t make changes that will get overwritten. I haven’t seen how to do this in SharePoint Online like you can manage the lock status for site collections in SharePoint 2013 on-premises. However, it appears that PowerShell may be an option using the Set-SPOSite cmdlet. Unfortunately, that PowerShell cmdlet may only allow for NoAccess vs. having a ReadOnly lock.
If you have any experience with locking a SharePoint Online site collection or with requesting a site collection restore from O365 support, I’d love to hear how this went. Add a comment below to share your experience.