Update: TFS 2010 has been replaced by TFS 2012 - if you're moving to TFS 2012, see our Rules to Better TFS 2012 Migration.
In this page we will look at upgrading an existing TFS2008 server to TFS2010. We assume you are using a single server configuration and have a DNS entry setup for external access at tfs.yourdomain.com.
Upgrading Team Foundation Server can be a daunting task. Be assured that things have become easier and if you follow this guide, it will minimize your downtime.
If you still need help, visit Application Lifecycle Management and book in a consultant.
There are many options for migrating to TFS 2010 from TFS 2008.
- Prepare a new image. We recommend running Windows 2008 R2 Server x64using Hyper-V Manager. Your options are:
- Manually build a server
- A syspreped image (this will be quicker)
- System Center Virtual Machine Manager (recommended, quickest)
- Add the roles
- Application Server
- IIS
- Install SQL Server 2008 x64 default configuration
- Install SQL Server 2008 SP1
- Run www.ssw.com.au/ssw/Diagnostics/ and get all green ticks
Once you are ready to start you need to make sure that no one can access the existing TFS 2008 server while you do the migration.
- Run the excellent DogFoodStats by Grant Holliday. These are queries on the TFS2008 database to give you stats about number of files, number of users etc. http://blogs.msdn.com/bharry/archive/2007/12/02/tfs-statistics-update.aspx 1. Record the Number of files 2. Record the number of Iterations
TFS2008:
===========================================
Files
1 ==28052==
2 ==335168==
-- Compressed file size:
11837952896
-- Uncompressed file sizes:
24868196032
-- Areas & Iterations:
==1096==
Example: Dog Food Stats on TFS2008 Make sure that you save the numbers so you can compare it to TFS 2010 later...
Run your daily backups to provide a safety net should things go wrong.
Since we recommend doing a "move based upgrade", we don’t like the "in place upgrade" option, these are the steps:
- Copy the TFS2008 backups to TFS2010 server (e.g. C:\TfsBackups)
- Restore all the databases to TFS2010’s instance of SQL 2008
- Install Team Foundation Server 2010
- After the install has completed the Team Foundation Server Configuration Wizard will open
- Select Upgrade | Start Wizard 
- Click "Next" 
- Click "List Available Databases"
- Select the TfsIntegration database
- Check "By checking this box, I confirm that I have a current backup"
- Click "Next" 
- Select "NT AUTHORITY\NETWORK SERVICE" for the System account
- Click "Next" 
- Click "Next" 
- Click "Next" 
- Click "Next" 
- Click "Next" 
- Specify the TFSService account
- Click "Next" 
- Click "Next" 
- Click "Next" 
- Click "Next" 
- Click "Next" 
- Click "Configure" 
- Have coffee (2 hours)
BTW: A good user interface should have a coffee image
[TODO: Martin to create new rule in "Rules to better UI"]
[TODO: Martin to add suggestion to TFS]
 - Click "Next" 
- Click "Close" 
- Click "Close" 
- Change the DNS entry for tfs.northwind.com to point to TFS2010 on
- Internal DNS
- External DNS

Since you have to deal with your system admins, this job will take the longest. Speed it up by buying a Red Bull for your system admin All of the hard work has been done, now you need to do a quick test.
Running the "Dog Food" stats on your new TFS 2010 server is a good way to see if the upgrade was successful. You should check the new values against the stats you noted down from your TFS 2008 server.
Getting someone else to test the migration is the best way to make sure that you have not missed anything.
If you have already done some test migrations on the new server there is no need to start from scratch. Just follow these simple steps and you will be up and running in no time.
- Open the Team Foundation Server Admin Console
- Click Application Tier | Team Project Collections | Detach Team Project Collection  Figure: Remove the old Team Project Collection from the server.
- Delete the Tfs_* databases except Tfs_Configuration from SQL Server Management Studio
- Delete the Tfs_Analysis database from SQL Server Analysis Server.
- Copy the TFS2010 backups to TFS2010 server (e.g. C:\TfsBackups)
- Restore the databases to the TFS2010’s SQL 2008 Server
- In the Team Foundation Server Admin Console
- Click Application Tier | Team Project Collections |Attach Team Project Collection 
- Follow the wizard, rule #8 from step 13.
- Do you know your migration choices?
- Do you get a new TFS2010 Server ready?
- Do you disable connections for TFS 2010 migration?
- Do you run your dog food stats (before TFS 2010 migration)?
- Do you backup your databases for TFS 2010 migration?
- Do you know how to upgrade your TFS2008 databases?
- Do you do a quick test after the for TFS 2010 migration finishes?
- Do you run Dog Food Stats (after TFS 2010 migration)?
- Do you get a developer to test the TFS 2010 migration?
- If you already have an installation
- Do you know how to integrate with SharePoint 2010?
- Do you know what will break and how to be ready for them?