2
votes

I have two TFS servers. One is a legacy TFS2010 server that contains an old collection of our projects. Last year, we spun up a new TFS2012 server. However, we never migrated our source code from the old server (we treated it as a fresh install and created new projects).

We are now looking at retiring the 2010 server completely and I want to migrate the legacy 2010 collection (actually all I care about is the source control and history) to the new server as a separate collection, but I can't figure out how. I've followed the instructions on MSDN (http://msdn.microsoft.com/en-us/library/vstudio/dd936138.aspx) but when I get to the step for attaching the collection on the new server, TFS complains that "no attachable databases were found" on the sql server.

I've also tried running the "tfsconfig Collection /attach" command on the target TFS server (even though numerous posts I read say it was deprecated in 2012). It tells me it can't connect to the target database server (even though my production collection is attached to it on that box).

Does anyone know if a collection migration from 2010 to 2012 is even possible or if I'm just spinning my wheels? There's no official documentation from Microsoft that I can find that says such a migration is even possible (even though there's nothing I can find that refutes it either)

Server Specs:

  • Old SQL Server: Enterprise 64 Bit 2008 SP3 (10.0.5500)
  • New SQL Server: Enterprise 64 Bit 2008R2 SP2 (10.50.4000)
  • Old TFS Server: 10.0.40219.1 (SP1 KB2182621)
  • New TFS Server: 11.0.60315.1 (TFS2012 Update 2)
4

4 Answers

1
votes

Take a look at Team Foundation Server Integration Tools (March 2012 Release): http://visualstudiogallery.msdn.microsoft.com/eb77e739-c98c-4e36-9ead-fa115b27fefe

The TFS Integration Tools is a project developed by the Team Foundation Server (TFS) product group and the Visual Studio ALM Rangers to integrate Team Foundation Server with third party systems for migration and synchronization of data.

1
votes

You can migrate a single collection. The steps I know working are:

  • detach the collection from the 2010 instance using TFS Admin console
  • backup the database (or detach from SQL)
  • restore the database new SQL instance (or copy the files and attach them from SQL) -- check does not clash with existing database names
  • attach the collection from the 2012 TFS Admin Console

The last step will kick off the upgrade process: the collection will not be available until the process is complete. It could takes minutes or hours depending on the size, and make sure you have enough space for SQL transaction logs.

0
votes

There is a migration guide for TFS 2010 to TFS 2012 located here: https://upgradetfs2010totfs2012.codeplex.com/

it may be faster in some cases depending on the size of the projects that need to be moved (and the number) to start by importing the latest code into the existing version of 2012 since you are concerned only with moving the source code. You do loose the history however.

0
votes

Do a in-place migration, described in Team Foundation Server Upgrade Guide, from Microsoft ALM Rangers (http://vsarupgradeguide.codeplex.com/), and next migrate the collection to the new server. From 2010 to 2012 it's a very simple migration. Don't forget backup the databases before doing a in-place migration.