TFS 2010 -> TFS 2012 same hardware migration of source control only

This post will take you through the steps I took to do a same hardware
migration from TFS 2010 to TFS 2012. The tricky part is that I only want
to migrate the Source Control and only have one physical server
available. I realise that a virtual environment would make this much
easier, but I don't have that! I am not interested in Team Portals, Work
Items, Build information. I'll explain why this is the case further
down.

Background

We have been running TFS 2010 (upgraded from 2008) for 5 years. We have
only really ever used the Source Control and the Build. We have never
leveraged the Work Items or other ALM features within TFS.

Many years ago we briefly flirted with using the Work Items and we setup
a custom Scrum process template. I think this has had a negative impact
on the TFS Server and it seems to be somewhat unhealthy.

I have started to notice a few issues with the TFS Server and thought it
was probably time to upgrade it to TFS 2012.

Some of the issues I was having were as follows:

  • Build Controllers / Agents were becoming unreliable. They were setting themselves offline aqfter every build.
  • Unable to create a new team project. I would receive a variety of errors when trying to setup a new Team Project.
  • SSRS reports did not work.
  • Sharepoint was dying slowly (we didn't use it, so it sat there for 5 years).

The Problem

At the end of this process I want the following:

  • TFS 2012
  • Complete Source Control history imported from old projects
  • Completely new and empty Work Items
  • Completely new build setup

The attraction of this is that it allows me to build a new TFS system
but maintaining all the existing Source Control history.

The Plan of Attack!

  • Convert TFS 2010 server into VM to run in VirtualBox
  • Get the new VM of TFS 2010 up and running
  • Install Windows 2012
  • Install SQL 2012
  • Install TFS 2012
  • Migrate Source Control from TFS 2010 VM to new TFS 2012
  • Tidy Up

I realise this is risky and I do not suggest that others do this in a
live environment.

Important: Make sure you have copious backups before attempting anything. This is a very risky method of upgrade and is not
recommended.