At TechEd Europe 2010, I had the privilege to work on the VS2010 Ultimate booth. It was great to meet so many folk, and find out how different people were using TFS and VS2010.
One recurring question was about upgrading, and the ways to do it.
Neno Loje delivered a great talk about administration of TFS, in which he covered a range of topics, including upgrading. I recommend watching the recording to check how you are doing. The recording is at http://www.msteched.com/2009/Europe/DEV311.
He recommended an approach that will import the previous version in to a new instance of TFS. The advantages of this is that you can move to a 64 bit application tier, and have the certainty that the new instance is up and running before importing the existing data.
The devil is in the detail, and it is well worth reading up on the upgrade process:
|The TFS upgrade guide||http://vs2010upgradeguide.codeplex.com/|
|How to Upgrade||http://blogs.msdn.com/b/bharry/archive/2009/10/21/upgrading-from-tfs-2005-2008-to-tfs-2010.aspx|
|TFS Config command overview||http://msdn.microsoft.com/en-us/library/ms253116(VS.100).aspx|
|TFS Config Import command details||http://msdn.microsoft.com/en-us/library/ff407080.aspx|
- Create the new instance of TFS with all the correct configuration, preferably on 64 bit Application Tier connecting through to the database.
- Then configure and test the new instance to ensure that you can see the work items, reports etc.
- Then copy a backed up version of your databases over to the new sql server
- Then import the old databases using the command line (you need to open a command prompt as an administrator, and navigate to the tfstools folder), this example was taken from the Brian Harry Blog Link.
Tfsconfig import /connectionString:”Data Source=DT01;Initial Catalog=TfsIntegration;Integrated Security=SSPI” /collectionName:UpgradedCollection /sqlinstance:<SQL Instance Name>
This will import the existing TFS data in to a new project collection, and there may be some massaging required to correct any project template customisations, as well as reports.
Remember to try this in a test environment first, to ensure that the process is known before completing the production run.