Geeks With Blogs
Clara's Notes on Technology Notes to me and the world


Here’s how we migrated our TFS 2008 to TFS 2010. This is not an in-place migration.

What is generally recommended as upgrade path is to backup the TFS 2008 DBs, restore them in the new TFS data tier and then install TFS 2010. This will migrate all the projects at once. However, we wanted to keep the TFS 2008 environment running for a while, so this path did not do.

We first set up a new machine (and a new domain, but that is a whole other story) with TFS 2010 and WSS 3.0. The database tier was on yet another machine (SQL Server 2008, of course). And then we proceed with migration of the TFS content.

Migration of Version Control and Work Items

Just use the command below:

tfsconfig import /collectionName:Imported /sqlinstance:sql2008 /confirmed

Source code and work items were migrated fine, version control history was maintained (even timestamps). The process templates were not migrated but the old projects retained their template (their old work item structure, queries, etc.). That is exactly what we wanted: old projects should remain as they were, and not to be upgraded to the new process templates.

All the migrated projects went to a new project collection:


While new projects will go to the default collection:


As explained by the documentation, tfsconfig import does not move reports, builds or portals.

Be careful: tfsconfig is a destructive command! It means it will destroy the TFS2008 DBs. What I did was take a backup of the DBs and restore them in the new SQL server used for TFS 2010. The tfsconfig command points to the restored databases (so my old environment was safe). 

I found information on this step from the following blogs (thanks guys!):



Mapping old users

Since we also changed domains, I had to map the old users to the new users in work items. There used to be a TF power tool to do this (TFSUsers), but it does not exist anymore. TFS 2010 is intelligent enough to synchronize on its own with AD. So if a user changes name in the AD, it also changes in TFS 2010 work items. So, I came up with a workaround with excel.


When the users log into the new TFS 2010 server and try to get the latest version of their code, they will need to specify to local folder (mapping). After that, they usually get an error saying the workspace already exists.

You need to delete your old workspaces or create new ones.

It is important to delete the workspaces client cache too! Otherwise, your users will keep getting the annoying message:

tf workspaces /remove:* /server:tfsserver

Migration of the WSS 2.0 Team Portals

This is where the hard work started. The process is well explained here. Basically, it entails taking a backup of the WSS 2.0 content DB, restore it in the new data tier and attach it to a WSS 3.0 web application. A few problems we encountered:

- You need to run prescan tool on the WSS 2.0 server and the prescan log has to give no errors. In our case, we had one orphan site and it took me forever to get rid of it.

- Also very important: before attaching the old content DBs to the new WSS server, create a different web application to hold the old data. Otherwise, it will overwrite the existing web application (containing team sites for new projects, for example).

The final result is that the migrated team portals go into one web application:


While new projects go into the initial web application


- You might need to reset user rights on the old portals. We had to do it because of our change of domain.

Once the old portals are migrated to WSS 3.0, you need to enable team portal on the projects. You can do it from Team Explorer: right click on the project and choose team portal settings. (Does anyone know how to automatise this? I had to do it manually for 53 projects?).

Migration of the Reports

There are different options for this step:

  1. Modify them to work with TFS 2010 warehouse (too complicated)
  2. Keep them
    1. as static content (e.g. export in excel, pdf, etc.)
    2. with old warehouse (this means that you need to move the TFS 2008 Warehouse db and cube to the new SQL Server, even if new data will not go to this warehouse)
  3. Get  the new reports to work with old projects (???)


Migration of Builds

We don't currently use TFS builds, so I don't have any info on that! Sorry.

Good luck with your own migrations!

Posted on Friday, October 1, 2010 2:49 PM | Back to top

Comments on this post: TFS 2008 to TFS 2010 Migration

# re: TFS 2008 to TFS 2010 Migration
Requesting Gravatar...
Thank you very much for this post. You saved my life:)
Left by Andrei Nadejde on Jun 30, 2012 1:37 PM

# re: TFS 2008 to TFS 2010 Migration
Requesting Gravatar...

I've had 2 TFS 2008 servers, and just installed a new TFS2010.
Because some reason I need to do in place upgrade, so I've created a backup of the TFS 2008 databases on both servers, and leave the databases there, and run the tfsconfig tool to migrate the old server projects to the new server, to different project collections.
The migration finished with 0 error or warning, and I can see the projects in TFS 2010.
With this solution, the new Project collection's database files are stored on the old servers, so i've stopped the Project Collections, backed up the databases, copied the to the new server, and set up the Project collections to use the new database server as target of the Collections.
This works, and I can see, and work with the projects.
The only problem is, if I stop the old TFS 2008 servers, the Project collections on the new server are not reachable, it shows some database connection error.

Do you have any idea, how i can solve this problem?

Thank you!

Left by Andras on Aug 30, 2012 9:45 AM

Your comment:
 (will show your gravatar)

Copyright © Clara Oscura | Powered by: