First of all, allot yourself an entire weekend.  Microsoft said that depending on the size of your databases, the upgrade takes 4 hours to 40 hours (make sure all dbs have been backed up).  And they are not kidding.

***Second, make sure the account that you are using to perform the upgrade (i.e. DOMAINtfssetup) is part of the Licensed Users Group.  In our case, our DOMAINtfssetup user was removed which makes sense because when we were running TFS 2005 Workgroup edition, only those 5 licensed users had access and these were all developer’s accounts.  When we upgraded to TFS 2005 Standard, that group is ignored.  However, when you upgrade to TFS 2008 Workgroup edition, that group becomes important again and if the set up account is not in there, you will go through some pain to re-add that account via command lines.

If you are in this position, you need to find an account that is in both the TFS Admin Group and the Licensed Users Group. 

Right click a command prompt and run as that account.  Drill down into C:Program FilesMicrosoft Visual Studio 2008 Team Foundation ServerTools

You will need to remove an account if all 5 accounts are used up and then re-add the account used to perform the install/upgrade.

To remove an account, run the following command,

tfssecurity.exe /g- "Team Foundation Licensed Users" Domainaccount /server:server_name

To add an account,

tfssecurity.exe /g+ "Team Foundation Licensed Users" Domaintfssetup /server:server_name

Third, make sure that your TFSwarehouse database is in a state where it can be upgraded properly.  Perform basic functions to test that the warehouse is functioning properly.  If you get an error, this could mean that your TFSwarehouse cube has been corrupted. 

Follow these instructions to rebuild the cube – http://abadawi.blogspot.com/2007/01/tfswarehouse-cube-corruption.html 
Here’s another article on this topic – http://blog.salvoz.com/CommentView,guid,3c02fee4-4971-4d6d-b73e-9a4fadc372b5.aspx

Fourth, don’t trust the error messages that pop up.  During the upgrade, I got an error indicating a problem with the TFSwarehouse.  But if you check the log files in the C:Documents and SettingsUserLocal SettingsTemp, you will get a more specific error message.

The log files revealed that the problem was not with the TFSwarehouse but the TfwWorkItemTracking database. 

You need to go to SQL Management Studios and do a backup of its transaction log. 
http://blog.salvoz.com/2008/05/31/PlayingAroundWithTFS.aspx

Fifth, to upgrade from TFS 2008 Workgroup edition to Standard edition, you have to edit the setup.sdb located in C:Program FilesMicrosoft Visual Studio 2008 Team Foundation ServerMicrosoft Visual Studio 2008 Team Foundation Server – ENU

Remove the Product Key and save setup.sdb.  Go to Add/Remove Programs and click Microsoft Visual Studio 2008 Team Foundation Server – ENU and click Change/Remove.  Select Upgrade and enter new key.

To verify upgrade of Team Foundation Server

  1. Be sure that you are logged on to the application-tier computer.

  2. In Internet Explorer, open
    http://localhost:8080/services/v1.0/Registration.asmx, and then click
    GetRegistrationEntries.

  3. On the GetRegistrationEntries page, click Invoke.

    You do not have to specify anything in the ToolID box.

  4. In the XML code that appears, look for the following text:

    <Type>vstfs</Type>

    If that text appears, you can close the page.

Lastly, don’t forget to install TFS Build (use DOMAINtfsservice account), Team Explorer and Sharepoint Extensions (this is all you need if you are fine staying with Sharepoint 2.0 instead of Sharepoint 3.0).