Someone added an interesting comment to the announcement of my “Backup and recovery planning 101” session at SharePoint Conference Ukraine. The guy said they had a problem recently when a SharePoint restore did not work. So the comment was “backups don’t save you from trouble“, and I think it’s worth looking into in more detail. Here’s the situation as it was described:

  1. Several designers are working on a custom application in production SharePoint
  2. One of them leaves the desk with a bunch of unsaved changes on screen
  3. At the same time, another member of the team makes edits and removes “unnecessary” roles (permission levels)
  4. The first designer comes back and saves objects that are dependent on no longer existing permission levels

Well… of course backups don’t save you from trouble when you did everything to get into that trouble! Here’re my 5 tips that could have helped to avoid the failure – and most of this is not about backups:

  • Never develop or test an application in your live production system. If you think you do not have a test environment, you are wrong – you do have a test SharePoint farm. It’s just by mistake you call it your production.
  • Define roles and responsibilities. These two designers making simultaneous changes to the same app could have probably better split their work to mitigate risks and dependencies.
  • Implement change control processes. With a proper change control in place, all team members would have reviewed and signed off on all of the suggested changes before anyone started editing anything.
  • Assess different SharePoint failure scenarios and their business impact, ranging from entire farm disaster recovery down to a single item recovery. How critical is the failure on each of these levels for the business processes? What happens if all SharePoint services become unavailable? How much data your business can afford to lose?
  • Develop and implement backup and recovery plan based on these findings. Establish a practice for testing backups and performing fire drill recoveries to ensure the plan continues to work as the SharePoint environment evolves.

What we have here is an example of extremely poor SharePoint governance. As much as the term itself may be confusing, the lack of governance is usually obvious. See this great post by Susan Hanley for a broader discussion of governance and guidance.

A proper backup and recovery plan is designed to minimize the business impact in case of data loss or service unavailability, based on the estimated scale of this impact. However, backups are only a part of the organization’s efforts to ensure business continuity. Having a backup in place cannot be an excuse for ignoring the need to properly govern your SharePoint customization and deployment.

Technorati Tags:
Advertisements

Just got another question about SharePoint 2010 remote BLOB storage (RBS) and its impact on the backups. The topic is already covered by so many posts and articles, I will just add a quick summary and few links to more details.

There are three simple things to remember about RBS and backups:

  • It is the RBS provider implementation that defines how backup works for externalized content. External content may or may not be included in your backups, depending on the provider you choose.
  • With the out of the box SQL 2008 R2 RBS FILESTREAM provider, externalized content is included in traditional VDI backups (“virtual backup device interface”). That is, native SQL and SharePoint backups will include both the database and the external content. Same is true for all 3rd party SQL backups that use VDI.
  • The out of the box SQL 2008 R2 RBS FILESTREAM provider does not support snapshots. Any SQL backup based on snapshots (such as Microsoft Data Protection Manager) will NOT automatically protect the external content.

If you plan to leverage RBS to reduce the size of your databases in SQL, you may have to change your backup strategy based on the above. Major questions are:

  • What is your current backup strategy, do you use snapshots or traditional backups?
  • How does the RBS provider of your choice work with the existing backup? Will external content be automatically included in backups?
  • If yes, make sure you and your SQL DBAs are aware that backup files can be MUCH larger than SQL database size
  • If not, how will you handle backup and restore of the external content? For example, if your backup is snapshot-based, you should take same time snapshots of the file system or NAS location with the external content. Make sure you test and thoroughly document all recovery scenarios in this case.

See also Plan for backup and recovery on Microsoft TechNet for other considerations.

Configuring RBS FILESTREAM for SharePoint 2010 and SQL 2008 is not a trivial task. Ghazwan Khairi recently started his SharePoint Quester videoblog, and one of his posts goes step by step through installing and configuring RBS for SharePoint 2010. This includes all script snippets and command line examples that you’ll need. Very helpful and detailed, check it out.

Finally, if you wonder why anyone may want to go into all this trouble with configuring RBS, it is worth reading Chris McNulty’s blog series on top SharePoint performance killers.

Technorati Tags:

It was a very pleasant and unusual experience for me this week to speak at the SharePoint Conference Russia – 2011. The conference was awesome and the crowd was much more interested in SharePoint than I was expecting. My session was the last before conference wrap up, and we stayed for almost half hour after the session for Q&A! The biggest challenge for me – surprisingly – was to keep speaking Russian, and not switch to English completely when using all the SharePoint terminology.

Having been to a number of different industry events in the US and Europe before, I cannot help comparing this conference to some of those. As far as I can tell, SharePoint Conference Russia is very close to the SharePoint Saturdays. The event is completely driven by community, in this case – Russian SharePoint User Group, and it is completely free to attend. (Thanks to the sponsors, and I am happy that my employer participated as the sponsor as well!)

There are some differences from the few of the SharePoint Saturdays I’ve seen:
  • SPConfRu had simultaneous live stream online from all 3 concurrent sessions. Never seen this at any other SharePoint event really.
  • The food was absolutely awesome :-) I’m not complaining about the food at other events, but here it was way better than one can expect to get a free event.
  • Unlike other SharePoint Saturdays, good part of the attendees were seriously looking people in good suits – IT directors and CIO’s, not a typical attendee for a free event. I think this shows there is a lack of (and the need for) SharePoint-centric events targeted more at the business users and IT decision makers in Russia. There are no SPTechCon or SharePoint Best Practices here.
  • Finally, the event was on Monday – so they had to call it SharePoint Conference instead of SharePoint Saturday :-)

So once again I’d like to say thank you to the SPConfRU organizersOksana and the team did absolutely great job, and I really look forward to more events from the user group in Russia.

BTW, here’re the slides from my “Planning SharePoint 2010 backup and recovery – where do I start?” session

Technorati Tags:

We had a good discussion tonight with Buckeye SharePoint User Group in Columbus around how you approach backup and recovery in 2010, and how new features might or might not change your backup strategy. Here’s the slide deck from my session:

SharePoint 2010: How new features change your backup and recovery

Apparently, there’s lots of interest in SharePoint 2010 – few folks already have it running in production, some are playing with it in the labs, while others are learning. Good times, interesting to see how SharePoint landscape changes.

Technorati Tags:

When SharePoint 2010 early sneak preview was first published by the product team, one of the big wow’s were the new granular content restore capabilities, available right there in Central Administration. While this is certainly an improvement compared to earlier version of SharePoint, I still cannot call this functionality “granular content restore”. Let’s walk through the steps required to restore a document from database backup with these new capabilities.

How to Restore from Unattached Content Database, Step by Step

1. Find the backup file that contains that document you need. You’ll need to know document original location so that you can match that to the content database. You will also need to find out when the document was corrupted or deleted, so that you grab the backup file from the right date. When you have all this information you can find the reuqired backup file (or probably request it from your SQL DBA or Backup operators).

2. Restore content database to a temporary location. Backup file is not enough, to use the unattached content database recovery you need the database mounted on a SQL server. This can be the same SQL instance used by SharePoint, or a different SQL box. If you restore into the same SQL instance make sure you (or your SQL DBA’s) use a different name for the restored database and don’t override the production content! Note the name of the SQL Server instance and the name of the database copy.

3. Go to SharePoint Central Administration, navigate to Backup and Restore and click the “Recover data from an unattached content database” link under Granular Backup.

4. Type the SQL Instance and temporary database names and specify what you want to do. Note that none of the available options actually allows you to restore a document, you can either create a backup of site collection or export a site or list. If you only need a single document, you’ll need to export the library in order to get it.

5. Select site collection, site and list to export. In this step you also specify the name for the export file and the export options, such as whether security and versions should be included in the export. You are ready to start the export.

Congratulations, you have completed the Unattached Content Database Recovery now! Wait, did you actually need that document? All you have is the export.cmp file, where to look next? There is no import available in the Central Administration UI. So what do you do next?

6. Start the SharePoint Management Shell, which is PowerShell with Microsoft.SharePoint.PowerShell snap-in already loaded. Then use the Import-SPWeb cmdlet to import the library. It is important to understand you cannot restore list or library under a different name. If a document library with the same name already exists in the destination site, import will merge contents and by default create new document versions where possible.

7. Finally, browse to the imported library and get the document you just restored. Once this is done, you can safely delete the imported document library from SharePoint, and delete the temporary database from SQL server.

Pros and Contras of Unattached Content Database Recovery

If you ever had to perform granular content restore via a recovery farm in SharePoint 2003 or SharePoint 2007, you can see the process is not very different with 2010. The big step forward is that there is no need to maintain the recovery farm for SharePoint 2010 and you don’t have to attach the temporary database to the farm. You also have the UI to do the export via Central Administration.

However, that’s where improvements end and all the limitations remain:

  • You have to know exactly which backup contains the requested data, there is no search available. If you make a mistake, it is not until the very last step in the process that you find out the document you looked for is missing after the import and you have to start it all over.
  • You must use higlhy privileged account to perfrom all operations in both SQL and SharePoint, which might not be possible in some environments. Sometimes in a large organization it would take 3 different people to perform the task.
  • There is no single UI to perform the operation from the first to the last step. You have to use SQL backup management tools, SharePoint Central Administration and PowerShell, which obviously increases time to restore.
  • Granularity is limitied. You can restore a site collection, a site or a list/library.
  • Finally, all inherited limitations of SharePoint export and import apply when restoring sites and lists from unattached content database.
Technorati Tags:

Remember the “Cannot find… exportsettings.xml” error when trying to restore a site with SharePoint Designer? The reason for the error was the default 25MB file size limitation for the CMP files used to store the backup.

If you tried to use SharePoint Designer for site backup and ran into this error, you just have another reason to upgrade your SharePoint farm to Service Pack 2. Why? Here’s what the TechNet article on SharePoint Designer site backup says:

If you have not installed Windows SharePoint Services 3.0 with Service Pack 2 (SP2), backups that are performed by using Office SharePoint Designer are limited to 25 megabytes (MB). After you install Windows SharePoint Services 3.0 with SP2, the limit is increased to 2 gigabytes (GB).

For sites larger than 2GB the same workaround still applies, you can get the rest of your backup from the Site Collection Recycle Bin and manually reconcile it.

Thanks to Alex Kirillov who brought my attention to this change in WSS v3 SP2.

Technorati Tags:
, ,

I just came across a recent SharePoint Backup / Recovery Solutions blog post by Babar Batla, Principal Solutions Specialist for Microsoft. In his list, Babar has both Microsoft Data Protection Manager 2007 and Quest Recovery Manager for SharePoint (and that’s the product I am working on). So do these products compete? Not really, they can actually complement each other! So, when do you use which?

With a recent release of Recovery Manager 2.2 we enhanced it to read and restore data from snapshots made with DPM as well as few other backup formats (see our web site for details). Adding this on top of DPM you can use the same snapshots in more SharePoint restoration scenarios:

  • Granular restore with DPM is only possible for documents and sites. Recovery Manager adds restore of any SharePoint objects, from a list item or document up to a site collection (and everything in between!) – all from the backups you already have with DPM.
  • Recovery Manager also gives more flexibility when the original server farm is unavailable: you can restore SharePoint data to an alternative SharePoint location or even a file share.
  • In addition, organizations where backup operations are centralized can benefit from using tools like Rcovery Manager and DPM together, because this allows to separate platform disaster recovery task from document and site restore, and the latter can be delegated to application specific administrators.

Technorati tags:

%d bloggers like this: