Archives for: March 2008, 09

Mar/09
2008

It's now about 3 month ago that i've started my odyssey with TFS by applying the TFS 2005 SP1 on my production server. Besides the fact, that i've successfully tested the service pack on a cloned testsystem, the installation on the production system went kind of accidantly by the SUS. After the installation i faced some errors relying on the KB940587 that sadly only exists in English.
So, as a Microsoft Gold Partner I am, I called my supporter. He opened the call and a month of excessive telephoning started. The summary of the next weeks was that there was a chance of localizing the patch to German what would take about 2 weeks to 2 month. Because i didn't want to wait and the fact that TFS 2008 is released, I sadly got the answer that there is no supported way to migrate from German to English.
As by now I've seen more of those patches that are only available in English and the fact that new versions and new resources are only available in English too took me at the point to start to migrate from a localized version to the 'real' version and planning on homogenize the network to English only. To eliminate every unnecessary discrepancy, my supporter at last assured me that all new patches will be delivered in all languages at a time.

Ok that's enough story. Here is a quick overview on the steps to migrate and update your localized TFS 2005 to a fresh english 2008 system.
!Warning! Bear in mind that this way is not officialy supported from Microsoft and i will not and can not guarantee that this will help you.

(Customized templates and other customized content does not restore with this kind of migration)
1. Install new english TFS 2005 with the installguide from http://go.microsoft.com/fwlink/?LinkId=40042
(Hint: Note that you only can install the TFS on SQL below SP2 - you have to install the sql server with the collation "Latin1_General_CI_AS" - reboot and check the services after each major step)
(Hint2: If you've reseted the SQL-DB-Collation you must recreate the RSExecRole in the master and the msdb, sql-script below**)
2. Install GDR-Patch from http://support.microsoft.com/kb/919156
(Hint: Set the recovery-models of the databases and the SQL-server logon-account to a user with domain rights - it can fail identically as the TFS-SP1)
3. Upgrade the TFS to SP1 and bring it to the same state as the old machine
(Hint: if the SP1-setup fails with error 1603, check the iis sites and the SQL-DBs on security-issues)
4. Upgrade the SQL-Server to SP2
5. Run Best-Practice-Analyzer to check if the installation is clean
6. Install the sharepoint patch, so you can restore the database from http://support.microsoft.com/kb/924881
and change the version value of the STS_Content_TFS.dbo.SystemVersion (from in my case it was 6.0.2.8165) to 6.0.2.8117 (optional: same as STS_Config_TFS.dbo.Globals)
7. Restore the datatier with the "restore in a new environment"-guide from http://msdn2.microsoft.com/en-us/library/ms404869(VS.80).aspx
8. Install the inofficial patch 940587
9. Run TFS-localize with the custom DE-EDU mapping (TFSLocalize.exe /s newserver /f TFSLocalizeMapping.xml)
10. Edit the TfsIntegration database, dbo.tbl_registration_extended_attributes table, InstalledUICulture to 1033
11. Edit the STS_Content_TFS database, dbo.Webs and change the Language and the Locale colums to 1033
12. Reboot to play it safe
13. Run upgrade to TFS 2008
14. Check for errors with reportservices and sharepoint
15. Run repair enter license key
16. Optional: restore customized items

**
USE master

GO

GRANT EXECUTE ON master.dbo.xp_sqlagent_notify TO RSExecRole

GO

GRANT EXECUTE ON master.dbo.xp_sqlagent_enum_jobs TO RSExecRole

GO

GRANT EXECUTE ON master.dbo.xp_sqlagent_is_starting TO RSExecRole

GO

USE msdb

GO

-- Permissions for SQL Agent SP's

GRANT EXECUTE ON msdb.dbo.sp_help_category TO RSExecRole

GO

GRANT EXECUTE ON msdb.dbo.sp_add_category TO RSExecRole

GO

GRANT EXECUTE ON msdb.dbo.sp_add_job TO RSExecRole

GO

GRANT EXECUTE ON msdb.dbo.sp_add_jobserver TO RSExecRole

GO

GRANT EXECUTE ON msdb.dbo.sp_add_jobstep TO RSExecRole

GO

GRANT EXECUTE ON msdb.dbo.sp_add_jobschedule TO RSExecRole

GO

GRANT EXECUTE ON msdb.dbo.sp_help_job TO RSExecRole

GO

GRANT EXECUTE ON msdb.dbo.sp_delete_job TO RSExecRole

GO

GRANT EXECUTE ON msdb.dbo.sp_help_jobschedule TO RSExecRole

GO

GRANT EXECUTE ON msdb.dbo.sp_verify_job_identifiers TO RSExecRole

GO

GRANT SELECT ON msdb.dbo.sysjobs TO RSExecRole

GO

GRANT SELECT ON msdb.dbo.syscategories TO RSExecRole

GO

UPDATE:
If you get an error if you browse to the settings on the sharepoint-site of each project, look at the URL. It may be that there is the old language-id (e.g. http://localhot/sites/project/_layouts/1031/settings.aspx), browse to the NavNodes table in the STS_Content_TFS database and change the language-id of each URL (to 1033 for english) that contains the old one.