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