Blog - Title

Upgrading from TFS 2005/2008 to TFS 2010

Upgrading from TFS 2005/2008 to TFS 2010

Rate This
  • Comments 33

Lots of people are trying out TFS 2010 now and they want to import their 2005/2008 data.  Here are some good things to know as you think through this:

The TFS installation guide is a great resource in helping you understand your upgrade options:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2d531219-2c39-4c69-88ef-f5ae6ac18c9f

First a little advice on the "upgrade decision tree": Are you upgrading the server and planning to use the upgraded server as your new production server?  Or are you upgrading it just to kick the tires but will keep using your 2005/2008 server for a while longer.

If you are doing a "trial upgrade", you will want to get new hardware (physical or virtual), back up your databases and restore them on the new hardware, then install TFS 2010 and point it at the new databases.  You will also need to change the TFS database "stamp" on the clone.  All TFS instances have a GUID that identifies them (regardless of what url you use to access them).  Your clients will get very confused if there are two TFS instances with the same GUID.  To change the TFS GUID follow these steps:

  1. Open a cmd window as admin on the AT
  2. Change to the directory: “%programfiles%\Microsoft Team Foundation Server 2010\Tools” and run the following commands.
  3. iisreset /stop
  4. tfsconfig changeserverid /sqlinstance:<dataTierName> /databasename:Tfs_Configuration
  5. tfsconfig registerdb /sqlinstance:<dataTierName> /databaseName:Tfs_Configuration
  6. iisreset /start
  7. net start tfsjobagent

You will also want to disable Sharepoint and Reporting Services on the trial upgrade (using either the upgrade wizard or the admin console after the fact).  You won't want 2 TFS servers pointing to the same Sharepoint and Reporting Services servers and cloning them too is probably more than most of you will want to tackle.

If you are doing a "production upgrade", you need to decide whether or not you want to use the same hardware or move to new hardware as part of the upgrade.  Regardless, you don't need to (and don't want to) reset the TFS GUID stamp because you are decomissioning the "old" server and you want all your clients to recognize the new server as the same.

If you've installed a TFS 2010 server and later want to merge a TFS 2005/2008 server into it, you can do that.  When you are done, your TFS 2010 server will have a new Team Project Collection with all of the TFS 2005/2008 data in it.  To add a TFS 2005/2008 server to an existing TFS 2010 server use a command like this (replacing the data source with your data source and the collection name with the target collection name).

Tfsconfig import /connectionString:”Data Source=DT01;Initial Catalog=TfsIntegration;Integrated Security=SSPI" /collectionName:UpgradedCollection /sqlinstance:<SQL Instance Name>

Once you've upgraded your TFS 2005/2008 instance to a TFS 2010 Team Project Collection, you can contine to use it pretty much as you had before.  However, you will find that a bunch of TFS 2010 features won't work with it.  That's because the process template used to create projects on TFS 2005/2008 does not include the contructs (test cases, bug form features, etc) that TFS 2010 needs to enable its full feature set.  To enable many of the TFS 2010 features, you will need to update the process template for previously created Team Projects.  If you have not customized your process at all (e.g. you use the out of the box MSF Agile process template), we've provided some scripts to automate the updates.  If you have customized your process, you will need to apply the updates manually.  Allen has written a blog post that covers the Process Template upgrades and refers to the scripts:

http://blogs.msdn.com/allclark/archive/2009/10/13/enabling-new-application-lifecycle-management-features-for-visual-studio-2010-beta-2-in-upgraded-team-projects.aspx

Lastly, if you are upgrading, it's likely you have people still using clients from previous versions.  You'll want to make sure you read this post I wrote the other day: http://blogs.msdn.com/bharry/archive/2009/10/19/tfs-2010-compatibility-with-older-clients.aspx

Bryan Krieger has also written some posts on upgrading: http://blogs.msdn.com/bkrieger/archive/2009/10/21/team-foundation-server-2010-upgrade.aspx 

I hope this helps,

Brian

Leave a Comment
  • Please add 7 and 3 and type the answer here:
  • Post
  • Is there anywhere I can find more information about the "trial upgrade" and the use of tfsconfig /prepareclone? I am getting an error message when running it... Should it run before or after running the upgrade wizard?

    What steps would I need to take if I wanted SharePoint and Reports to work to in my trial upgrade?

  • Does the tfsconfig import command affect the source tfs installation somehow? I'm going to import a production environment to tfs 2010 beta2 to do some testing, but I don't want to mess up the production environment.

  • No, tfsconfig import only works on detached databases.  The only thing you have to be careful about is doing PrepareClone on the cloned TFS so that you don’t accidentally point back to the original server while testing the clone.

    Brian

  • Oh, and one more thing, don't forget that this cloning process only covers the TFS data, not Sharepoint or Reporting services.  Unless you take steps to reconfigure the clone, it will refer to the production Sharepoint and Reporting Services servers.  You'll want to be careful about changing those.  What most people do is disable Sharepoint and RS on the clone (using the admin tool).

    Brian

  • Well, installing TFS2010 Beta 2 went smoothly on a new hardware, everything seems to work fine.

    I now wanted to test the "tfsconfig import" command to import a TFS2008 database from our production environment to the TFS2010 (which is located in the same network segment, but it shouldn't be a problem, should it?).

    Sadly either I'm a little confused on this command or it doesn't work as intended.

    I backed up the database files from the old server and restored them on the new server.

    I tried:

    >tfsconfig import /connectionString:"DataSource=TFS2010;init

    ial catalog=tfsintegration;integrated security=sspi" /collectionName:UpgradedCollection

    I get:

    Unrecognized command option 'connectionString'.

    When just calling

    >tfsconfig import

    I get

    The connectionString argument is required. See the command line help for the import command.

    Mhhhh... when I set connectionString it's not recognized, when I don't it's needed :) Strange :)

    Maybe you have an idea on this?

    Thanks in advance,

    Philipp

  • I've been informed that my procedure was incorrect/incomplete.  I'll be updating it shortly (today) with corrections.

  • From my experience, command should look like this:

    tfsconfig import /sqlinstance: X /collectionname:Y

    where X is the name of SQL instance on new TFS, and Y is the name of collection which will be created from this command.

    First you should make backup of db's on "old" TFS (2008 with sql 2008), and they are: TfsBuild, TfsWorkItemTracking, TfsWorkItemTrackingAttachments, TfsIntegration, TfsVersionControl), and copy them to new TFS(2010).

    Next step is to restore all previously backuped databases and to execute tfsconfig command.

  • Yeah, I was able to figure this out, too by now.

    I wrote a little documentation on this on my site (www.devh.de)

  • Thanks B, that was it. Backup 2008 TFS DBs, restore onto TFS2010 SQL08 instance, run tfsconfig import pointing to TFS2010 SQL08 instance. Success on all 198 steps.

  • Hi Bharry,

                   Nice to read these  information.Right now we are implementing TFS VSTS2010 for test our WPF window based application. We are facing problem regarding the object property where it save in TFS.how we can handle the synchronization problem with in our WPF application and the TFS.And what are the recording modes and technique available in TFS.

  • I'm very sorry but I'm afraid I don't understand the question.  What object property?  Saved where in TFS?

    Brian

  • I've tried to piece together an upgrade plan using this blog but it is difficult to organize it using this information.  I was hoping you could post a follow up with some additional details on the steps involved and the order of those steps.

    Here are some examples of what has confused me.

    - My task is to import our proudction TFS 2005 to our existing TFS 2010 server ( trial upgrade ). Wouldn't the "tfsconfig changeserverid" procedure aftect my existing TFS 2010 project collection and clients???  ( We have test projects occuring in that 2010 server. )

    - When/where is the "tfsconfig /prepareClone" to be used? It is mentioned in your blog with no context where/when/why it

    should be used?

    - Since the "tfsconfig import" command targets the Tfs_Configuration database, does it automatically find the 2005 dbs that I would restore to that server and import them to the specified collection?  ( and then drop them ? )

    - You stated that "tfsconfig import only work on detached databases" in your blog. This doesn't seeem to add up since the

    instructions were to restore the DB backups and then use tfsconfig import.

    So really what I need is an ordered procedure that explains in further detail each step must occur and why so I can successfully

    execute a "trial upgrade".  

    We are moving towards using TFS 2010 Beta 2 in production soon and awaiting its official release in March.  Do you have a preview document of the manual that could help?  I noticed the Beta2 Install guide does not mentioned many of these command line tools and procedures such as tfsconfig import.

    I appreciate any help you can provide.  Thank you!

  • Hi KJKyle,

    Bryan Krieger has a great upgrade guide on his blog:

    http://blogs.msdn.com/bkrieger/

    It'll probably easier to help you through your problem if you just e-mail me ablock at microsoft dot com

    --Aaron

  • Do you know of any issues if we plan on upgrading our Visual Studio Team System 2008 Team Foundation Server Workgroup Edition to TFS 2010.  Can I perform an In-Place upgrade?

  • An in place upgrade should work just fine.  Just uninstall 2008 first.

Page 1 of 3 (33 items) 123