Após instalar o Microsoft® Visual Studio Team Foundation Server® 2010, Service Pack 1, não conseguir fazer o Visual Studio 2010 e nenhum outro Client conectar ao TFS. Ao tentar conectar recebia a mensagem de erro abaixo.
TF31001 Cannot Connect to Team Foundation Server at DefaultColletion
The server returned the following error: Server was unable to process request. --> The requested schema property TFS_SCHEMA_VERSION did not match the expected value. The server requires the Microsoft Team Foundation Server 2010 (SP1) schema but the database currently implements Microsoft Team Foundation Server 2010 (RTM)
O que erra possível entender em primeira mão é que por alguma razão o SP1 não atualizou o Schema no SQL Server, e como era esperado uma informação durante a conexão e esta vinha de forma diferente, então um erro era apresentado.
Pesquisei então a respeito desse erro, o que me levou a vários fóruns que não ajudou muito e também ao site de suporte da Microsoft, que contém um Knowlegde Base(KB2516423) a respeito do assunto (How to troubleshoot installation problems for Team Foundation Server 2010 SP1 and for later updates). Após seguir alguns passos não conseguir solucionar o problema.
Continuando minhas pesquisas cheguei até o Blog Notes on .NET Programming que tinha um post (TFS 2010 SP1 Installation Issue–TFS_SCHEMA_VERSION ) a respeito desse problema, e a solução apresentada por ele atuava diretamente no problema, ou seja, no Schema na base de dados do SQL Server. Apesar do erro que ele apresenta no Post está relacionado a outro problema, mas o tipo de erro é o mesmo.
A solução apresentada por ele, seria abrir o SQL Management Studio e alterar o valor contido nas configurações do Banco de Dados do TFS. Então foi o que eu fiz:
- Abrir o SQL Management Studio;
- Localizei o Banco de Dados do TFS relacionado a Coleções;
- Cliquei com o botão direito no Banco e em seguida cliquei em propriedades;
- Estando com a janela de propriedades aberta, localizei Propriedades Estendidas (Extended Properties);
- E em seguida localizei a propriedade TFS_SCHEMA_VERSION, justamente a que apresentava problema, então verifiquei que o valor da Propriedade era Microsoft Team Foundation Server 2010 (RTM), resolvi alterar para Microsoft Team Foundation Server 2010 (SP1), que era o valor esperado durante a conexão;
O TFS cria três banco de dados no SQL Server, verifiquei essa propriedade nos outros dois bancos e notei que nos outros bancos esse valor estava correto, apenas no banco de Coleções que não.
Após as alterações reiniciei o Servidor e tudo voltou ao normal.
A solução acima não é oficial, por isso antes de executa-la eu fiz backup da Máquina Virtual, para garantir o retorno ao ponto anterior. Ainda não fora notado nenhum problema com os projetos e todo o histórico deles, aparentemente tudo OK.
Jenner Maciejewsky Rocha
MVP Visual Basic