Isso acabou se transformando em iterações corruptas nas tabelas do TFSWarehouse. Pagamos pelo suporte do MS e eles forneceram um script personalizado para corrigir o problema (basicamente remapear os itens de trabalho na iteração corrompida)
Recentemente, mudamos a instalação do Team System de uma VM para um servidor físico. A maioria dos aspectos parece funcionar bem (itens de trabalho, controle de origem, etc), mas estou vendo o seguinte erro nos logs de eventos a cada hora (presumivelmente quando o warehouse está atualizando)
Tipo de evento: erro
Fonte de Eventos: Armazém TFS
Categoria do evento: Nenhum
ID do evento: 3000
Data: 03/06/2009
Hora: 12:26:32
Usuário: N / A
Computador: TFS1
Descrição:
TF53010: O seguinte erro ocorreu em um componente ou extensão do Team Foundation:
Data (UTC): 03/06/2009 11:26:32
Máquina: TFS1
Domínio de aplicação: / LM / W3SVC / 1724018147 / Root / Warehouse-3-128884367959382827
Assembly: Microsoft.TeamFoundation.Warehouse, Versão = 9.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a; v2.0.50727
Detalhes do processo:
Nome do processo: w3wp
Id do processo: 5080
ID da thread: 6016
Nome da conta: NTSERVERS \ sqlservice
Mensagem detalhada: TF51209: Um erro de tempo de execução System.Collections.Generic.KeyNotFoundException: A chave fornecida não estava presente no dicionário.
em System.ThrowHelper.ThrowKeyNotFoundException ()
em System.Collections.Generic.Dictionary'2.get_Item (chave TKey)
em Microsoft.TeamFoundation.WorkItemTracking.Adapter.Adapter.FindTreeNodeUriFromId (ID do objeto, Int32 treeStructureType)
em Microsoft.TeamFoundation.WorkItemTracking.Adapter.Adapter.ProcessKeywordValue (fato FactEntry, FieldRow PayloadRow, PayloadRow dr)
em Microsoft.TeamFoundation.WorkItemTracking.Adapter.Adapter.AddWorkItemFactEntry (PayloadRow dr, String projectUri, String previousState, DateTime dtChangedDate)
em Microsoft.TeamFoundation.WorkItemTracking.Adapter.Adapter.PopulateFacts (PayloadRow)
em Microsoft.TeamFoundation.WorkItemTracking.Adapter.Adapter.MakeDataChanges ()
em Microsoft.TeamFoundation.Warehouse.AdapterWrapper.RunTimerAdapter () ocorreu no adaptador Microsoft.TeamFoundation.WorkItemTracking.Adapter.Adapter.
Para obter mais informações, consulte o Centro de ajuda e suporte no link .
Nós reaplicamos o TFS 2008 SP1 durante a noite para corrigir um problema diferente (iterações adicionadas não aparecendo na lista de iterações do item de trabalho). Observamos que algumas iterações em dois projetos diferentes haviam desaparecido, embora pudéssemos rastrear os itens de trabalho (suas entradas de iteração estavam em branco). Eu acho que podemos ter um problema com as iterações do warehouse corrompidas de alguma forma?
Ajuda apreciada ...
editar 09/06/2009: mais algumas informações, caso isso ajude. Nossa equipe de sistemas perdeu três semanas de dados TFS ao fazer algum trabalho de manutenção no servidor TFS. Os backups de banco de dados que eles tomaram antes de fazer o trabalho foram "perdidos" e tivemos que reverter para alguns que tinham 3 semanas de idade. Este parece ser o local onde o erro se originou, já que após a reconstrução do warehouse eu posso ver as métricas antes desse incidente e depois de nenhum. E sim, nosso servidor TFS agora tem status Gold e todos os backups necessários estão em vigor :)
Isso acabou se transformando em iterações corruptas nas tabelas do TFSWarehouse. Pagamos pelo suporte do MS e eles forneceram um script personalizado para corrigir o problema (basicamente remapear os itens de trabalho na iteração corrompida)
Você tentou usar o comando SetupWarehouse para reconstruir os bancos de dados do warehouse (relacional e OLAP):
Você pode ter corrupção no banco de dados do SQL Server que sustenta o TFS. Você tem um DBA ou alguém com conhecimento do SQL Server que possa executar o DBCC CHECKDB no banco de dados?