locked
Team Foundation Server is unable to locate one or more of the installed error messages error

    Question

  • During move TFS 2008 Data Tier I have to rebuild master database to change mssql server collation

    After this TFS when I try to remove TeamBuild Definition show the following error:

     

    ---------------------------
    Microsoft Visual Studio
    ---------------------------
    Team Foundation Error

    TF205005: Team Foundation Server is unable to locate one or more of the installed error messages. Please repair the installation from Programs and Features in Control Panel to fix this problem. For more information, see "How to: Repair Team Foundation Server" in the Team Foundation Server Installation Guide that can be downloaded from the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkID=82562 ). Detailed information :Error 900028, severity 16, state 1 was raised, but no message with that error number was found in sys.messages. If error is larger than 50000, make sure the user-defined message is added using sp_addmessage.
    ---------------------------
    OK  
    ---------------------------

    I found solution to repopulate messages here http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1698360&SiteID=1 :

     

    I repopulate messages with following script:

     

    USE TFSVersionControl

    GO

    exec prc_iiInstallMessages

     

    but the same error is occurs

    Tuesday, April 01, 2008 10:16 AM

Answers

All replies

  • Hello Alex_gram,

     

      Which type of the move did you perform?

     

      It is a Restore-based move ?

             Or Environment-based move?

     

      From

              Team Foundation Server Move Types
     

     Moving Team Foundation Server

     

      Thanks.

    Thursday, April 03, 2008 6:58 AM
  •  

    Thanks for your reply.

    Environment-based move. But application TIER stay on the same machine. I move only DataTier.

     

    Thanks again.

    Thursday, April 03, 2008 9:29 AM
  • Hello Alex,

     

      Does the document work for your scenario?

     

       How to: Move Your Team Foundation Server from One Environment to Another.

     

     

      I am not sure I caught the problem. If there is any misunderstanding please let me know.

     

      Sorry it seems you don't need to  rebuild master database.

     

     Thanks.

     

    Monday, April 07, 2008 2:56 AM
  •  

    I have to rebuild master database because of the following issue, I posted earlier:

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3105216&SiteID=1&mode=1

     

    Thanks
    Friday, April 25, 2008 9:39 AM
  • I have a solution for corrupted system tfs database to restore messages without reinstalling hole tfs server:

    1. You should download valid messages from existence tfs database server. You can do it via bcp utility:

    bcp.exe "select * from master.dbo.sysmessages where error > 50000" queryout "c:\tfs_sysmessages_tfsdatabasehost.txt" -T -c -S tfsvaliddatabasehost

    2. Upload this message to master database. You should do it into 3 steps:

    a.       Create temp table to hold valid messages:

    CREATE TABLE [dbo].[tmp_sysmessages](

                    [error] [int] NOT NULL,

                    [severity] [tinyint] NULL,

                    [dlevel] [smallint] NULL,

                    [description] [nvarchar](255) COLLATE Latin1_General_CI_AS NULL,

                    [msglangid] [smallint] NOT NULL

    ) ON [PRIMARY]


    b.      Upload via bcp downloaded messages:

    bcp.exe TFSMSG_TEMP.dbo.tmp_sysmessages in "tfs_sysmessages_tfsdatabasehost.txt" -T -c -S tfscorruptdatabasehost

    c.       Copy from temp table into system via stored procedure sp_addmessage:

     

    DECLARE @Error AS int

    DECLARE @Severity AS tinyint

    DECLARE @DLevel as smallint

    DECLARE @Description as VARCHAR(255)

    DECLARE @Msglangid as smallint

     

    DECLARE curMessages CURSOR FOR

     

    SELECT error, severity, dlevel, description, msglangid

    FROM TFSMSG_TEMP.dbo.tmp_sysmessages

    WHERE error > 50000

    OPEN curMessages

    FETCH NEXT FROM curMessages

    INTO @Error, @Severity, @DLevel, @Description, @Msglangid

    WHILE @@FETCH_STATUS = 0

    BEGIN

     

    EXEC sp_addmessage @Error, @Severity, @Description, NULL, 'TRUE', 'replace'

     

    FETCH NEXT FROM curMessages

    INTO @Error, @Severity, @DLevel, @Description, @Msglangid

    END

     

    CLOSE curMessages

    DEALLOCATE curMessages

    Wednesday, June 18, 2008 2:12 PM
  • this solution saved our bacon.  thx.
    Tuesday, December 23, 2008 3:33 PM