When we setup source control server, we should always make a backup and restore plan for it. This article is to describe how to backup and restore a TFS Express instance from one server to another server.
This blog is an English version, for Chinese version please check below URL:
Below is the key points for the backup and restore.
- Backup database
- Install another TFS Express instance and finish config
- Restore backup database to new server.
- If needed, install ASP.NET MVC 4
- Change application instance ID
First, we should create a backup plan, open Team Foundation Server Express Administration Console, then click Scheduled Backups.
Create a backup plan, fill a network backup path, and please note the local path is not allowed, only share folder is accepted.
Then set the schedule for the backup plan, by default, always Sunday for a full backup and working day for differential backup, then apply transitional backup interval by minutes.
Then the wizard will applied the job setting.
After the setting finish, it is suggested to run a full backup immediately, close the backup setup, click "Take Full Backup Now" to start a full backup, later the differential backup and transitional backup will be based on this.
Go to the backup folder, you can see the backup files. Two databases which are supported TFS Express running will be backup by default, if you only have one collection, one is Tfs_Configuration, the other one is Tfs_DefaultCollection.
The backup is finished so far, below phase is how to restore the instance.
After install the TFS Express on another server, and finish the basic configuration, open the SQL Express using Management Studio, restore them one by one.
And what we should pay attention is the IIS, sometimes ASP.NET MVC will be lost(Browse TFS web page, error message reported: System.web.mvc is lost), when this happens, go to below asp.net official web site to download ASP.NET MVC 4, please note the version is 4, as-is latest version is already 5.
After the ASP.NET MVC 4 is installed, the last step is sync the application ID, the value is stored in web.config, copy the value from source server, and then replace it into the new server.
Then open the TFS web site, you will see the whole resource are migrated from the old server to new server, including source code, and task items.