Upgrade to TFS 2010

(Note: Please download the latest Installation Guide for Team Foundation and read the Upgrade sections for details on types of upgrades and steps to perform an upgrade to TFS 2010)

Important: Install the hotfix mentioned here before running the upgrade wizard:

https://blogs.msdn.com/b/mitrik/archive/2010/06/17/version-control-2010-upgrade-hotfix-published.aspx

When upgrading to TFS 2010 from TFS 2008 or TFS 2005, you need to first meet a couple preconditions:

1. Install/Upgrade to SQL 2008.  TFS 2010 does not support SQL 2005.  You need at least the SQL database engine.  Reporting services and analysis services are optional in TFS 2010 .  We're flexible on what edition of SQL to use.  We support SQL Express through SQL Enterprise.  In fact TFS 2010 will install SQL Express for you if you are doing a clean install.  For Upgrade however you must have SQL installed (with databases restored.)

2. (optional) Install/Upgrade to SharePoint 3.0.  TFS 2010 does not support SharePoint 2.  You can opt out of SharePoint entirely if you want.  Note that TFS 2010 will install SharePoint 3 for you, but not in the case of upgrade.  You must have it preinstalled for Upgrade.

Note that IIS is no longer a prerequisite.  InTFS 2010 we'll install that for you if it's not there already.

You have two options on how to upgrade to TFS 2010 :

1. In-place Upgrade.  Use the same hardware you're currently using for TFS 2005/2008.  You must first uninstall TFS 2005/2008 before installing TFS 2010.

2. Migration Upgrade.  Use new hardware.  Backup your databases and restore them to your new SQL instance.  This is useful to test upgrade to TFS 2010 while keeping your existing TFS instance in use.  I'll have another post on how to do that.  Note that you only need your databases.  You don't need to install TFS 2005/2008 on your new hardware before upgrading.

In either case, you want to make sure you have recent database backups before proceeding.

TFS 2010 upgrade requires 6 databases: 

TfsActivityLogging
TfsTeamBuild
TfsIntegration
TfsVersionControl
TfsWorkItemTracking
TfsWorkItemTrackingAttachments

You don't need TfsWarehouse.  That DB will be ignored. The warehouse gets rebuilt during upgrade.  Same goes for the Analysis Services cube, TfsWarehouse.  You can drop that before or after upgrade.  Note that while TfsActivityLogging must be present to run upgrade, all we do with that database is delete it.

In the upgrade wizard you can choose to opt-out of SharePoint, Reporting, or both.  If you choose to opt-out, you can later opt-in to those features from the TFS Administration Console.  However at that point you'll have to manually hook up the Sharepoint sites and create the Reports folder permissions.

If you stick with the defaults, Dev10 upgrade will first create a configuration database, Tfs_Configuration, and a new warehouse, Tfs_Warehouse.  If you have Reporting enabled you'll also get a new AS cube, Tfs_Analysis.  Next it will got to work on your legacy databases.  The 5 databases will be merged together into the database formerly known as TfsVersionControl.  In the end, that database will be renamed to Tfs_DefaultCollection (or whatever name you chose for it).  Under the covers, the SQL database files will still be TfsVersionControl.mdf.  More on why that's important later.

In summary, the steps to upgrade to TFS 2010 are:

  1. Backup your databases!
  2. If you are using SQL 2005, upgrade to SQL 2008 or SQL 2008 R2
  3. If you are using SharePoint 2.0 and want to continue using SharePoint, upgrade to 3.0
  4. Restore your TFS databases to your SQL instance
  5. Install TFS 2010
  6. After Install finishes but before running the Upgrade Wizard, apply the upgrade hotfix linked above
  7. Run the Upgrade Wizard and point to your TFS databases