Upgrading from Beta 3 refresh of TFS to RTM, was as painful as I expected (but probably my own fault). With great hopes, I downloaded the Team Foundation Server Upgrade Package and faithfully followed the steps within the document.
The first thing I learned when applying the update was the Beta 3 Refresh of TFS was incorrectly installed. I purchased a server off of ebay to have a dedicated machine running this software, however when I installed SharePoint services, I missed the step to install it with the "Server Farm" option. This created a named instances of SQL Server independent of the SQL install hosting TFS. When the TFSUpgrade utility attempted to apply the updates to the SharePoint databases, it failed since the upgrade was looking in the default instances. I moved the databases from the SharePoint instance to the default instance, and I think that was the cause of most of the problems.
To make a long painful story short here are the next steps I did to complete the effort...
- Ensure I had backups of all the databases involved (before and after I ran the TFS Upgrade Utility).
- Uninstall Beta3 refresh of TFS
- Attempted to install the RTM version, got SharePoint errors (stmadm.exe did not return zero)
- Attempted new settings in SharePoint for "Default Config" db, as well as the "Content DBs" for virtual servers.
- Uninstalled SharePoint, reinstalled with Server Farm option selected (this allows for TFS to manage the database configuration).
- Attempted to install RTM version again, got similar SharePoint errors.
- After trying different combinations, looking at the data within the STS databases, after about 4 hours I decided to just rebuild the box install TFS from scratch.
- This went well, everything worked as expected and within about 1.5 hours I went from a formatted hard-drive to an up and running TFS server (probably would have been quicker, but this is an older PIII Xeon @ 1.1GHz)
- For the moment of truth...I restored the backups of all my databases...DOH, when I rebuilt the box, I had thought hmmm, it was named SLNETPSQL3 before, let's name it SLNETTFS this time...big mistake!!! After I restored, all the data referenced the name of the original server SLNETPSQL3, I probably spent about an hour or two attempting to figure out how to change everything over, but no luck...
- Decided to just go ahead and rebuild it one more time, this time with the original server name. Again about 1.5 hours later I had a fresh install of TFS with everything working just fine. I made a copy fo the original DB's.
- Next I attempted to restore the original DB's, at soon as I did this, I couldn't connect to TFS with any of the users. So at at this point, I had about 20 hours into the upgrade and needed to get some work done to pay the bills, so I decided to just restore the databases from the fresh copy that I knew worked.
- I was in business, then I just restored the versions of my production TFSIntegration db to a different name, copied the tables tbl_projects, tbl_security_projects & tbl_security_objects for those projects into my new database.
- At that point, my projects came on line.
- I restored the TFSVersionControl database and all my source history got restored YIPPPPPEEEEE!!! (I had off-line backups of the source, but it was nice to be able to keep the source history)
- Next I had thought, ok let's get the work items in there...no luck here, there is data in the TFSIntegration database that needed to be tied to the data within the work items db, so this did not restore to work with my new version of the projects in the TFSIntegration DB.
- I tried for about a couple of hours to manually import the tables, but ran in to some F-Key violations that stemmed form the work items not being created for the projects (I think I know what I need to do to restore these, but again need to get some real work done to pay the bills, probably do another post when I get this completed.
Anyway - things are all well, I have a couple of legacy TFS projects that are limping along but useable non-the-less.
Has any one else had similar experiences?
*Note - Although my experience documented here wasn't too "pleasant" it is probably due to my lack of my prior knowledge on TFS configuration and architecture and learning on the fly. This was an excellent learning experience and the more I learn about the capabilities of this product, the more I like it!