TFS Migration from 2008 to 2010…… A new journey begins.

My mind has been traveling at 150 m/hrs for the past two days, and it has been in circles. Before I get knocked out by the centripetal/centrifugal force (whichever laws of physics that applies) I thought of penning my thoughts before I start with the actual migration Of course, there are a wealth of information on many blogs, and I must really commend Brian Harry and Clara Obscure for being more concise that the TFS 2010 CHM Files. But as they say, every installation/implementation of a product will have its own flavor and problems. None the Less, I will talk about my flavor of TFS and its quirky problems.

Migration Scenario
I have a single server installation of TFS 2008 with roughly 25 users using
it.(A pretty small installation in terms of scale but a very crucial one in terms of my TFS road-map) . The client as of now uses the TFS 2008 for the following
1. Version Control
2. Work Item tracking: The Planning aspect is being done in MSP and exported into the TFS Team Project, time and again Excel is used to do some sort of data massaging. the Process template has been modified to include Custom Work List Items.
3. Reports have been used occasionally.
Business needs to be achieved after Migration
1. Source Control Files should be available in TFS 2010
2. Work Items should be available in TFS 2010
3. Reports for the same should be available on TFS 2010.
4. The Database CUBE should be available in TFS 2010
5. The Process Template from TFS 2008 should be functional with TFS 2010.
6. New Features of TFS 2010 should be available for the Migrated TFS 2008 Projects.
Perceived areas of Concern
From the various approaches available on the internet and the help files, selecting a fool-proof approach which meets the business needs of this migration is crucial. The possible approaches are:
Approach 1 (MIGRATION upgrade path):
Brian Harry’s Blog talks about the “After Trial upgrade approach” and the “After Production Upgrade approach”. From the above 2 approaches, the latter (After Production Upgrade Approach) seems closer to our requirement since we have deployed TFS 2010 on a different Server.
Tfsconfig import /connectionString:”Data Source=DT01;Initial  Catalog=TfsIntegration;Integrated Security=SSPI” /collectionName:UpgradedCollection /sqlinstance: <Name>
After executing the above mentioned command,
The following would be instantly available:
1. User(s), If in the same domain will be mapped in the new TFS 2010 environment.
2. Version Repository data from TFS 2008 would be available in TFS 2010
3. WorkItem Data from TFS 2008 would be available in TFS 2010.
4. Changesets from TFS 2008 would be available in TFS 2010.
5. Build Definitions from TFS 2008 would be available in TFS 2010.
6. Custom work item queries from TFS 2008 would be available in TFS 2010.
The following would be need more work:
Modifying the Process Templates as per TFS 2010
Modifying the Report definition for TFS 2010.
Approach 2 (MIGRATION upgrade path): Clara Oscura Blog
talks about the same approach as is Brian harry, but its more reassuring for a
novice (like me). The command which does the magic is
tfsconfig import /collectionName:NewCollection /sqlinstance:sql2008 /confirmed
To make this approach successful, the following steps need to be followed to the letter.
1.  Backup the old databases from your old TFS server (TFS 2008).
You’ll need to backup
– TfsIntegration
– TfsBuild
– TfsWarehouse
– TfsWorkItemTracking
– TfsWorkItemTrackingAttachments
– TfsVersionControl
– TfsActivityLogging
2.  Restore the databases on TFS 2010 Server, keeping the same database names. There will be no conflict as the database names as the datasbase names for TFS 2008 and TFS 2010 are different.
3.  Open the command window and move to the following folder: C:\Program Files\Microsoft Team Foundation Server 2010\Tools
4.  Execute the following Command
tfsconfig import /collectionName:NewCollection /sqlinstance:sql2008 /confirmed
This command takes 208 steps to do its thing. After executing the above mentioned
command, The following would be instantly available:
1.  User(s), If in the same domain will be mapped in the new TFS 2010 environment.
2. Version Repository data from TFS 2008 would be available in TFS 2010
3. WorkItem Data from TFS 2008 would be available in TFS 2010.
4. Changesets from TFS 2008 would be available in TFS 2010.
5. Build Definitions from TFS 2008 would be available in TFS 2010.
6. Custom work item queries from TFS 2008 would be available in TFS 2010
The following would be need more work:
Modifying the Process Templates as per TFS 2010
Modifying the Report definition for TFS 2010.
Blogs which were helpful:
Error Resolution:
1. Error: If you get the following Error
TF246017: Team Foundation Server could not connect to the database. Verify that the server that is hosting the database is operational, and that network problems are not blocking communication with the server.
Resolution:
Got it fixed after running db consistency/repair.
Approach 3 (IN-PLACE migration path):
This approach works on the principle of one-time-only offer. To put it simply this migration will work as part of the standard installation process. The TFS 2010 CHM file a.k.a. The Help file give a very comprehensive checklist for executing this approach. To summarize it, the standard procedure to install TFS 2010 should be followed. While configuring TFS 2010 through the Team Foundation Server Configuration tool, instead of the NEW option click the UPGRADE option. The rest of the Steps are mentioned in the CHM file. In case if you are
wondering, what if I have already configured my TFS 2010 server? and since this is a one-time-only offer, will I have to un-install the existing TFS 2010 and re-install it again to enable a TFS Configuration with the upgrade option?
Well, looks like Microsoft thought about while creating this massive product. You
de-configure (I ‘am using my poetic license to create such a word from deep space) the existing
installation by following these steps.
1.  Open the command window
2.  Change directory to C:\Program Files\Microsoft Team Foundation Server 2010\Tools
3. Execute  tfsconfig setup /uninstall:all . This command will de-configure TFS.
4.  Drop all TFS databases
5.  Restore TFS 2008 databases on the TFS 2010 Server.
6.  Execute tfsmgmt configure.
7.  Select the Upgrade option from the wizard.
The IN-PLACE migration approach is most recommended approach but the handicap in
this approach is if I have multiple installations of TFS 2008 and If I would like to consolidate these multiple installations into a single installation of TFS 2010, that might not be possible with this approach.
Advertisements

3 thoughts on “TFS Migration from 2008 to 2010…… A new journey begins.

    • Kabir,

      My Blog does mention two flavorls of tfsconfig

      Tfsconfig import /connectionString:”Data Source=DT01;Initial Catalog=TfsIntegration;Integrated Security=SSPI” /collectionName:UpgradedCollection /sqlinstance:
      &
      tfsconfig import /collectionName:NewCollection /sqlinstance:sql2008 /confirmed

      I prefer the latter. I had prepared this blog as an approach document for my TFS migration. So far Approach 2 is what i’am comfortable with.

      As for the second question, Yes !! Only six databases are used during the transition.
      The TFSWareHouse Database will have to rebuilt after the database has been migrated to TFS 2010.

      – Ben

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s