TFS 2005 to 2008 Upgrade Best Practices… and some for VSTSWA 2008 as well
The following post come from Vimal Thiagaraj (VIM), a member of our TFS setup and install team. Vim provides us today with a best practices document for upgrading from TFS 2005 to TFS 2008 SP1, and for upgrading\installing VSTSWA (TFS web access) 2008 SP1 as well.
-Trev
1. Make full backups of the following databases from the TFS 2005 data tier server. Do not append to existing backup sets and preferably, store the backups in a different location than the usual backup storage.
- Report Server
- ReportServerTempDB
- TfsActivityLogging
- TfsBuild
- TfsIntegration
- TfsVersionControl
- TfsWarehouse
- TfsWorkItemTracking
- TfsWorkItemTrackingAttachments
- STS_Content_TFS
- STS_Config_TFS
2. If installed, remove the following applications from the TFS application tier (or ATDT, if single-server TFS install):
- Team Explorer 2008 SP1 or Visual Studio 2008 SP1
- .NET framework 3.5 SP1
- .NET framework 2.0 SP2
3. Check for triggers on any of the “Tfs...” named SQL databases listed above. The TFS databases should *not* have any triggers. If any are found, drop them from the database. NOTE: Database triggers only. Don’t mess with any table triggers.
How to check the trigger presence:
a. Open SQL Server Management studio and connect to the SQL database engine hosting your TFS databases.
b. Click on the plus sign to expand databases
c. Expand the “TFS...” named database
d. Expand programmability
e. Click on database triggers
This will show any triggers in the right-hand reading pane. If there are any present, delete them.
4. Slip-stream TFS 2008 installer with TFS 2008 SP1. NOTE: if this is done you can ignore step #2 above.
(Please make sure the following commands are run with elevated privileges, the folders created have the full control for the logged in user, and remember to remove the read-only attribute from files after they are copied from CD/DVD)
To integrate the installation of Team Foundation Server 2008 and Team Foundation Server 2008 Service Pack 1:
a. Download TFS SP1 from the Microsoft Web site, and save the update to a folder on the local computer. For example, you can save the file to C:\SP1Download.
b. From the files that originated on the DVD for Team Foundation Server, copy the “AT” folder to a location on the local computer. For example, you can copy the folder to C:\InstallMedia.
c. Open a Command Prompt window, and type the following command, replacing “C:\SP1Download” with the location that you chose in step a and “C:\SP1Extract” with a separate location on the local computer:
C:\SP1Download \TFS90SP1-KB949786-ENU /extract:C:\SP1Extract
d. Create a folder where you can merge files from SP1 and the DVD.
e. Type the following command, replacing “C:\InstallMedia” with the location that you chose in step b, “C:\SP1Extract” with the location that you chose in step c, and “C:\MergeFolder” with the absolute path of the location that you chose in step d:
msiexec /a C:\InstallMedia\vs_setup.msi /p C:\SP1Extract\TFS90sp1-KB949786.msp TARGETDIR=C:\MergeFolder
NOTE: You must replace C:\MergeFolder with an absolute path, but you can replace C:\InstallMedia and C:\SP1Extract with absolute or relative paths
f. From C:\MergeFolder (which you created in step d), run setup.exe to install Team Foundation Server with SP1.
Upgrading to Visual Studio Team System Web Access 2008 (VSTSWA 2008 SP1)
The latest edition of VSTSWA is available with Service pack 1 in the following location:
Following are some tips for installing and configuring this update, whether you are upgrading from a previous version of installing for the first time:
1. You must install TFS 2008 SP1 before installing VSTSWA 2008 SP1.
2. To install VSTSWA 2008 SP1, you must uninstall any other versions of the same application first.
3. During install, you will be prompted to specify a service account. You should specify the one used for TFS 2008 SP1(ex: domainname\TFSService)
Verification after installing VSTSWA 2008 SP1
Check whether the following app pools are running with TFSService account,
Tswa or TswaPool1
Wiwa or Wiwapool1
If not running you may need to stop the application pool(s), right-click to open properties and then change the service account on the Identity tab to that used for TFS itself. Finally, restart the application pool (a restart of IIS – IISRESET – may also be necessary of you will find the following error in TSWA: “Unable to create WorkItemStore see inner exception for details”.
Case sensitivity issues with VSTSWA
Visual Studio Team System Web access is known for case sensitivity when it comes to connection URL’S. Though the reports and documents may work outside Team Explorer, we may still get the following error in VSTSWA.
HTTP Header SOAPAction: schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/ListChildren.
This is usually seen when TFS communication URLs have had their case changed. This is most often seen after:
1. Performing a move of TFS databases from one server to another.
2. An uninstall/reinstall or upgrade of SharePoint services, or...
3. Incorrect case URL’s are supplied in “TfsAdminutil configureconnections” execution.
Which connection URL’s do we need to be mindful of?
The following URLs, stored in TFS’ internal configuration, should appear with the following case:
SharepointUri |
<SERVERNAME>:80 |
SharepointSitesUri |
<SERVERNAME>:80/Sites |
SharepointAdminUri |
<SERVERNAME>:17012/_vti_adm/admin.asmx |
SharepointUnc |
\\<SERVERNAME>\Sites |
ReportsUri |
<SERVERNAME>/Reports |
ReportServerUri |
/ReportServer/ReportService.asmx"><SERVERNAME>/ReportServer/ReportService.asmx |
How to check the connection URL’s ?
1. On the TFS AT, open a command prompt and change directory (CD) to the following folder:
\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools
2. Run the following command:
Tfsadminutil configureconnections /view
This will give a view similar to the following:
TfsAdminUtil - Team Foundation Admin Utility
Copyright (c) Microsoft Corporation. All rights reserved.
There is no current VSTS client certificate configured. This is not an error condition.
Current value for ATUri = < Serverame >:8080
There is no current setting for PublicATUri. This is not an error condition.
Current value for SharepointUri = <SERVERNAME>:80
Current value for SharepointSitesUri = <SERVERNAME>:80/Sites
Current value for SharepointAdminUri = <SERVERNAME>:17012/_vti_adm/admin.asmx
Current value for SharepointUnc = \\<SERVERNAME>\Sites
Current value for ReportsUri = <SERVERNAME>/Reports
Current value for ReportServerUri = /ReportServer/ReportService.asmx"><SERVERNAME>/ReportServer/ReportService.asmx
How to fix the Connection URL’s?
Compare the results of the Tfsadminutil configureconnections /view command with those detailed in the previous table, and make sure the cases match. If not, use the following command lines to fix (once again, executed from a Command Window opened in the \Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools folder on the TFS AT machine):
TfsAdminUtil configureconnections /SharepointUri : <SERVERNAME>:80
TfsAdminUtil configureconnections / SharepointSitesUri : <SERVERNAME>:80/Sites
TfsAdminUtil configureconnections / SharepointAdminUri: <SERVERNAME>:17012/_vti_adm/admin.asmx
TfsAdminUtil configureconnections / SharepointUnc :\\<SERVERNAME>\Sites
TfsAdminUtil configureconnections / ReportsUri :<SERVERNAME>/Reports
TfsAdminUtil configureconnections / ReportServerUri: /ReportServer/ReportService.asmx"><SERVERNAME>/ReportServer/ReportService.asmx
How to clear the cache for VSTSWA?
After making any URL changes, it is a best practice to clear the cache for the web site. To do that, delete any files and folders found under:
Program Files\Microsoft Visual Studio 2008 Team System Web Access\Cache\TSWA
NOTE: This may differ in your setup. If that is the case, search the VSTSWA WEB.CONFIG file (located in the root of VSTSWA web application folder) for the “WorkItemTrackingCacheRoot” key. This will contain the path to the cache folder your install uses.
Comments
- Anonymous
June 12, 2009
Great post and very thorough! This is going to be a great reference. Thanks! Mike