Resolver conflitos de esquema que estão ocorrendo no data warehouse

Conflitos de esquema ocorrem quando um conjunto de atributos para campos reportáveis difere entre as coleções de projeto de equipe.Quando um conflito de esquema ocorre, os campos que não estão em conflito são processados como de costume mas os campos que estão em conflito são atribuídos valores nulos até que você possa resolver os conflitos e então escuta como de costume.Além disso, o sistema gera um evento de notificação para cada conflito que detecta.Assinando ao evento, você pode receber alertas quando os conflitos de esquema ocorrem para todos os projetos de equipe que estão definidos para uma coleção.Você deve corrigir quaisquer conflitos de esquema para desbloquear o processamento dos dados associados para o depósito e para ativar os relatórios associados para exibir dados atuais.

Todos os dados reportáveis de todos os projetos de equipe que são definidos em todas as coleções de projeto para uma implantação de Visual Studio Team Foundation Server são gravados em uma única data warehouse relacional.Os dados do depósito em são processados e gravados no cubo.Coletando dados oferece suporte nos únicos de uma data warehouse que reportam através de equipe coleções.No entanto, como os campos são gerenciados distintamente para cada coleção de projeto, conflitos de esquema podem ocorrer quando as definições diferentes são atribuídas a um ou mais atributos de um campo que é atribuído o mesmo nome de referência de relatório.

Neste tópico

  • Mensagens de erro que você alertam o esquema conflitos

  • Fontes de conflitos de esquema

  • Conflitos do esquema de resolução

  • Verifique se os conflitos de esquema são resolvidos

Mensagens de erro que você alertam o esquema conflitos

Quando um conflito de esquema ocorre, uma mensagem de erro aparecerá nos seguintes locais:

  • O log de eventos para o servidor de camada de aplicativo.

    ObservaçãoObservação

    Team Foundation Server efetua logon uma mensagem de erro para o log de eventos cada dia até que o conflito de dados ser resolvido.

  • Um relatório que são fornecidos com os modelos de processo do MSF e que você exiba através do gerenciador de relatórios.

  • Um painel que são fornecidos com os modelos de processo do MSF e que você exiba através do portal de projeto.

    ObservaçãoObservação

    Você pode determinar quando um relatório ou um painel foram atualizados recentemente se você encontrar o carimbo de data/hora de Data da última atualização , que aparece no canto inferior direito de cada relatório e painel.O carimbo de data/hora corresponde a hora mais recentes que cada trabalho do adaptador de armazenamento que são agendados para a conclusão, para cada coleção de projeto, com êxito terminar o processamento.O cálculo de carimbo de data/hora inclui trabalho personalizados do adaptador e ignora o adaptador que são bloqueados de executar o serviço Web de controle de depósito.

    Se um conflito de esquema está bloqueando dados de entrada na data warehouse para um relatório, o carimbo de data/hora para o relatório não será atualizado.

Além das mensagens anteriores, você pode obter mais informações usando o funcionamento de GetProcessingStatus de serviço Web de controle de depósito.Para obter mais informações, Processar manualmente o cubo serviços de data warehouse e análise para o Team Foundation Serverconsulte.

Fontes de conflitos de esquema

Conflitos de esquema ocorrem quando um administrador de projeto executa uma das seguintes ações:

  • Adiciona um campo reportável a um tipo de item de trabalho em uma coleção de projeto, e atributos que são atribuídos ao campo não coincidem com aqueles em outras coleções de projeto.

  • Altera um atributo que é atribuído a um campo de item de trabalho que é usado em mais de uma coleção de projeto, mesmo que essas alterações entram em conflito com as atribuições em outras coleções.

    ObservaçãoObservação

    Um administrador de projeto pode evitar erros na lista anterior somente examinando as atribuições de atributo para os campos que são definidos por várias coleções de projeto em uma implantação.

Os erros resultam quando um campo tem o mesmo referencia o nome ou o mesmo nome de referência de relatório em várias coleções de projeto e um ou mais dos seguintes atributos para aquele campo não correspondem em dois ou mais coleções:

  • name: O nome amigável de campo, que aparece como uma opção quando você criar uma consulta de item de trabalho.

  • reportingname: O nome que aparece nos relatórios.Se você não especificar um valor, o valor que é atribuído ao atributo de name é usado.

  • reportable/reportingtype: Se os dados do campo estão disponíveis para a inclusão nos relatórios, e em caso afirmativo, o tipo reportável (por exemplo, None, Detail, Dimension, ou Measure).

    ObservaçãoObservação

    O elemento de FIELD usou o atributo de reportable , e o comando de witadmin changefield usa o atributo de reportingtype .Esses atributos definem a mesma informações.

  • type: O tipo de dados que o campo aceita (por exemplo, Integer, HTML, String, Double, ou DateTime).

A tabela a seguir fornece exemplos de atribuições de atributo que causarão conflitos de esquema.Nesses exemplos, o nome da referência de relatório e o nome de relatório não atribuídos.

Atributo

Coleção de Projeto 1

Coleção de Projeto 2

Conflito de esquema

Tipo

Cadeia de caracteres

Integer

Tipos de dados não correspondem.

ReportingName

Atividade

Atividade comuns

Os nomes de relatório não correspondem.

Reportável

Detalhes

Dimensão

Reportando tipos não coincidir.

Conflitos do esquema de resolução

Você pode examinar o logon de evento o servidor de camada de aplicativo para obter mais informações sobre o campo que está causando um conflito de esquema.Após determinar o campo ou campos que estão surgindo o conflito, siga estas etapas:

  1. Revise os atributos que são atribuídos ao campo em todas as coleções de projeto.Você pode usar o comando de witadmin listfields , que possui a seguinte sintaxe:

    witadmin listfields /collection:CollectionURL /n:RefName [/unused]
    

    Para obter mais informações, consulte Gerenciar campos de item de trabalho [witadmin].

  2. Determine em uma das seguintes maneiras você deseja resolver o conflito:

    • Altere o atributo para o campo em uma coleção de projeto para combinar as atribuições que são feitas em outras coleções de projeto.Você deve tomar essa ação quando as equipes usam o campo nas mesmas formas em relatórios semelhantes ou para relatar entre de projeto.

    • Marca o nome da referência de relatório do campo no conflito.Você deve tomar essa ação quando os campos são usados em diferentes maneiras ou você deve manter um campo diferente.Nesse caso, o campo não é usado por equipes que trabalham em coleções diferentes de projeto para relatar entre de projeto.

      Para obter mais informações, consulte Adicionar e modificar campos de item de trabalho para dar suporte a relatórios.

    • Marcar um campo como não reportável para uma ou mais coleções.Você deve tomar essa ação quando o campo não é usado para relatórios sobre essas coleções de projeto.

    • Remova o campo de coleção de projeto de equipe.Você deve tomar essa ação se o campo não é usado pelos projetos ou relatórios de equipe.

      ObservaçãoObservação

      Se você remover um campo que é usado em um relatório, o relatório não exibirá corretamente.

  3. Altere o atributo que é atribuído a um campo, com base nas decisões que você fez na etapa anterior.Você pode usar o comando de witadmin changefield , que possui a seguinte sintaxe:

    witadmin changefield /collection:CollectionURL /n:RefName [/name:NewName] [/syncnamechanges:true | false] [/reportingname:ReportingName] [/reportingrefname:ReportingRefName] [/reportingtype:Type] [/reportingformula:Formula] [/noprompt]
    
  4. Para excluir um campo de uma coleção de projeto, você pode usar o comando de witadmin deletefield , que possui a seguinte sintaxe:

    witadmin deletefield /collection:CollectionURL /n:RefName
    
    Observação importanteImportante

    Se você excluir um campo permanentemente, você remove campo e quaisquer dados que armazena de armazenamento de dados.

Verifique se os conflitos de esquema são resolvidos

Você pode verificar que os conflitos de esquema são resolvidos processando as datas warehouses sob demanda e então verificando os relatórios para determinar se são atualizados.Ou você pode esperar até a execução de trabalho do adaptador de depósito, de acordo com a agenda padrão.Por padrão, o banco de dados relacional é processado cada poucos minutos.No entanto, o cubo serviços de análise é processado cada duas horas por padrão.

ObservaçãoObservação

Para obter mais informações sobre o serviço Web de controle de depósito, consulte Process the Data Warehouse and Analysis Services Cube.

  1. Processar a data warehouse relacional sob demanda usando a operação de ProcessWarehouse de WarehouseControlService.

  2. Processar o cubo sob demanda usando a operação de ProcessAnalysisDatabase de WarehouseControlService.

  3. Abra um painel relatórios ou o gerenciador, e verifique que os relatórios estão sendo atualizados.Para obter mais informações, consulte Painéis (ágeis) ou Relatórios (ágeis).

Se as mensagens de erro continuam a aparecer, você pode obter mais informações sobre o conflito de dados e adaptadores bloqueados afetados executar a operação de GetProcessingStatus de WarehouseControlService.

Consulte também

Referência

Gerenciar campos de item de trabalho [witadmin]

Conceitos

Adicionar e modificar campos de item de trabalho para dar suporte a relatórios

Criar, personalizar e gerenciar relatórios para o Visual Studio ALM

Outros recursos

Process the Data Warehouse and Analysis Services Cube