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çã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çã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çã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çã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:
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].
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ção Se você remover um campo que é usado em um relatório, o relatório não exibirá corretamente.
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]
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
Importante 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çã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. |
Processar a data warehouse relacional sob demanda usando a operação de ProcessWarehouse de WarehouseControlService.
Processar o cubo sob demanda usando a operação de ProcessAnalysisDatabase de WarehouseControlService.
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