Planning for Backup and Restore
Creating a backup and restore plan is a critical part of any Team Foundation deployment. In order to create this plan, you need to understand the size and scope of your Team Foundation deployment, designate a person or a team of people to perform backups, determine a backup storage strategy, and consider what backup software might best meet the needs of your organization. You must also plan to test the integrity of your backups by performing trial restorations on a regular basis.
Considerations for Backing Up and Restoring Your Servers
There are several factors to consider when planning Team Foundation Server backups; such as when to schedule backups, what data to back up, and how to store the backups. Not all of the factors will lead you to the same conclusions, but a careful consideration of the whole will guide you in creating a backup plan that meets your organization's current needs.
The most common considerations are discussed briefly below and are intended as general guidelines to help you through the planning process. You might have additional factors you want to consider, such as clustering, offsite data storage, or mirrored servers. Remember to account for the unique features of your Team Foundation deployment when creating your backup and restore plan.
Scope of Backups
Consider the servers and computers required for Team Foundation Server daily operations. You must regularly back up the data on these critical computers, including but not limited to build computers, test controllers, and Team Foundation Server. Because the Team Foundation servers will not be available while being backed up, you must also plan when to perform these backups to minimize disruption for your users. You can choose the frequency of these backups as well as the type. For example, you might choose to perform incremental backups of your application-tier and data-tier servers on a daily basis, and full backups on a weekly basis. You can also choose whether to back up just the data on these computers, or whether to back up the entire computer for easier recovery and restoration. For example, backing up the entire Team Foundation Server requires more storage space and more time, but when restoring the server you do not have to reinstall and reconfigure Team Foundation Server. For more information, see Backing Up the Team Foundation Server and Restoring the Team Foundation Server from Backups.
Responsibility for Backups
Consider who will be responsible for backing up your critical computers. Will it be one person or a team of people? If you are backing up critical computers after working hours, you might choose to automate your backups. If so, however, someone needs to make sure that the automated backups completed successfully. If you need to suddenly restore a server from backup, is there a way to contact these people after regular working hours? If a person is unavailable, can someone else back up or restore the data? How familiar are these people with the disaster recovery plan? Does everyone know where to find the disaster recovery plan? For more information, see Planning and Preparing for Team Foundation.
Backup Storage and Retrieval
Consider how much data storage you will need and where you will store your backed up data. You should choose a media storage type that best suits your organization's needs. You should plan on keeping at least one set of backups in an offsite location. For more information about backup storage, see Backing Up and Restoring Data (http://go.microsoft.com/fwlink?linkid=28310).
Consider whether you want to use the back up features of your operating system, or whether you want to invest in other backup software. You can choose to invest in integrated software and hardware backup systems. How much would a backup software solution cost your organization? How does that cost compare to the advantages of the feature set? Your backup software should provide the level of backup management that best suits the overall need of your organization.
Testing the Integrity of Backups
Consider testing the integrity of your backups on a regular basis. You should check the backup logs for any errors or events on a daily basis. If your backup software provides the option, you should run data integrity checks on your backed up data. You should also plan on practicing restorations, including restoring a server from incremental backups and restoring a server from full backups. Full scenario testing is the only way to ensure that your backups really provide the data coverage you expect.