Resolvendo conflitos de esquema que estão ocorrendo no Data Warehouse
Os conflitos de esquema ocorrem quando um conjunto de atributos para campos reportável difere em conjuntos de projeto de equipe. Quando ocorre um conflito de esquema, os dados que está associados esse esquema não é possível mover para o data warehouse e o SQL Server cubo de dados do Analysis Services. Você deve corrigir todos os conflitos de esquema para desbloquear o processamento dos dados associados para o depósito e ativar os relatórios associados exibir os dados atuais.
Importante |
---|
Você pode desbloquear o depósito de dados quando os conflitos de esquema ocorrerem ao instalar o Service Pack 1 (SP1) para Visual Studio Team Foundation Server 2010. Com o SP1 instalado, os campos que não estão em conflito são processados como de costume. Os campos que estão em conflito são atribuídos valores nulos até você resolver os conflitos e processe como de costume. Além disso, o sistema gera um evento de notificação para cada conflito que ele detecta. Inscrevendo-se ao evento, agora você pode receber alertas quando ocorrerem de conflitos de esquema para qualquer projeto de equipe são definidos para uma coleção. |
Todos os dados reportável de todos os projetos de equipe são definidos em todas as coleções de projeto para uma implantação do Visual Studio Team Foundation Server são gravados em um depósito de dados relacionais único. Dados de depósito é, em seguida, processados e gravados o cubo. Oferece suporte a coleta de dados em um único data warehouse, emissão de relatórios em coleções de projeto de equipe. No entanto, porque os campos são gerenciados distintamente para cada conjunto de projeto, esquema podem ocorrer conflitos quando diferentes definições 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 o alertam para conflitos de esquema
Fontes de conflitos de esquema
Resolver conflitos de esquema
Verificar que conflitos de esquema são resolvidos
Mensagens de erro que o alertam para conflitos de esquema
Quando ocorre um conflito de esquema, uma mensagem de erro aparecerá nos seguintes locais:
O log de eventos para o servidor de camada de aplicativo.
Observação Team Foundation Serverregistra uma mensagem de erro no log de eventos por dia, até que o conflito de dados seja resolvido.
Um relatório que é fornecido com o processo do MSF modelos e que você exiba através do Gerenciador de relatório.
Um painel que é fornecido com o processo do MSF modelos e que você exiba através do portal do projeto.
Observação Você pode determinar quando um relatório ou painel de controle foi atualizado mais recentemente se você encontrar o Data de último atualizada carimbo de hora que aparece no canto inferior direito de cada relatório e o painel de controle. O carimbo de hora corresponde a hora mais recente que todos os trabalhos de adaptador de depósito está agendado para conclusão para cada coleção de projeto concluída com êxito o processamento. O cálculo de carimbo de data / hora inclui trabalhos de adaptador personalizado e ignora os trabalhos de adaptador são impedidos de executar o serviço da Web de controle de depósito.
Se um conflito de esquema está bloqueando dados insiram o depósito de dados para um relatório, o carimbo de hora para o relatório não será atualizado.
Além de para as mensagens anteriores, você pode obter mais informações, usando o GetProcessingStatus operação do serviço da Web de controle de depósito. Para obter mais informações, consulte Processar manualmente o cubo do Analysis Services e Data Warehouse de Team Foundation Server.
Fontes de conflitos de esquema
Conflitos de esquema ocorrem quando um administrador de projeto executa uma das seguintes ações:
Adiciona um campo reportable a um tipo de item de trabalho na coleção de um projeto e os atributos que são atribuídos a esse campo não coincidem com aqueles em outras coleções do 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 entrem em conflito com as atribuições em outras coleções.
Observação Um administrador de projeto pode evitar os erros na lista anterior somente revisando as atribuições de atributo para campos que são definidos em vários conjuntos de projeto em uma implantação.
Erros de resultam quando um campo tenha o mesmo nome de referência ou o mesmo nome de referência de emissão de relatórios em várias coleções de projeto e um ou mais dos seguintes atributos para esse campo não correspondem em dois ou mais coleções:
name: O nome amigável do campo, que aparece como uma opção quando você cria uma consulta de item de trabalho.
reportingname: O nome que aparece nos relatórios. Se você não especificar um valor, o valor é atribuído para o name atributo é usado.
reportable/reportingtype: Se os dados do campo estão disponíveis para inclusão nos relatórios e, nesse caso, o tipo reportável (por exemplo, None, Detail, Dimension, ou Measure).
Observação O FIELD elemento usado o reportable atributo e o witadmin changefield comando usa o reportingtype atributo. Esses atributos definem as mesmas 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 causarão conflitos de esquema. Nestes exemplos, o nome de referência de relatório e o nome de relatório não são atribuídos.
Atributo |
Coleção de projeto 1 |
Coleção de projeto 2 |
Conflito de esquema |
---|---|---|---|
Tipo |
String |
Integer |
Tipos de dados não coincidem. |
ReportingName |
Atividade |
Atividade comum |
Nomes de emissão de relatórios não coincidem. |
Reportável |
Detalhe |
Dimensão |
Tipos de relatórios não coincidem. |
Resolver conflitos de esquema
Você pode revisar o log de eventos no 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 causando o conflito, você deve seguir estas etapas:
Examine os atributos que são atribuídos para o campo em todas as coleções de projeto. Você pode usar o witadmin listfields comando, que tem a seguinte sintaxe:
witadmin listfields /collection:CollectionURL /n:RefName [/unused]
Para obter mais informações, consulte Gerenciando os campos de Item de trabalho [witadmin].
Determine qual das seguintes maneiras você deseja resolver o conflito:
Altere o atributo para o campo na coleção de um projeto para coincidir com as atribuições que são feitas em outras coleções do projeto. Você deve tomar esta ação quando equipes usam o campo da mesma forma que em relatórios semelhantes ou para a emissão de relatórios de projetos cruzados.
Rotule novamente o nome de referência de relatório do campo em conflito. Você deve tomar esta ação quando os campos são usados de maneiras diferentes, ou você deve manter um campo diferente. Nesse caso, o campo não é usado por equipes que trabalham em coleções de projeto diferente para a emissão de relatórios de projetos cruzados.
Para obter mais informações, consulte Adicionar e modificar os campos de Item de trabalho para a emissão de relatórios de suporte.
Marca um campo como não reportable para uma ou mais coleções. Você deve tomar esta ação quando o campo não é usado para relatórios sobre as coleções de projeto.
Remova o campo a partir da coleção de projeto de equipe. Você deve tomar esta ação se o campo não é usado por projetos de equipe ou relatórios.
Observação Se você remover um campo que é usado em um relatório, o relatório não será mais exibida 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 witadmin changefield comando, que tem 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 witadmin deletefield comando, que tem a seguinte sintaxe:
witadmin deletefield /collection:CollectionURL /n:RefName
Importante Se você excluir permanentemente um campo, remova o campo e todos os dados que ele armazena do armazenamento de dados.
Verificar que conflitos de esquema são resolvidos
Você pode verificar os conflitos de esquema foram resolvidos os depósitos de dados sob demanda de processamento e, em seguida, verificando os relatórios para determinar se elas são atualizadas. Ou você pode esperar até que os trabalhos de adaptador de depósito executado, de acordo com sua agenda de padrão. Por padrão, o banco de dados relacional é processado minutos. No entanto, o cubo do Analysis Services é processado a cada duas horas por padrão.
Observação |
---|
Para obter mais informações sobre o serviço da Web de controle de depósito, consulte Processar manualmente o cubo do Analysis Services e Data Warehouse de Team Foundation Server. |
Processar o data warehouse relacional sob demanda usando o ProcessWarehouse operação da WarehouseControlService.
Processar o cubo sob demanda usando o ProcessAnalysisDatabase operação da WarehouseControlService.
Abrir um painel de controle ou o Gerenciador de relatório e verifique que os relatórios sejam atualizados. Para obter mais informações, consulte Painéis (Agile) ou Relatório (Agile).
Se as mensagens de erro continuam a aparecer, você pode obter mais informações sobre o conflito de dados e os adaptadores bloqueados afetados executando o GetProcessingStatus operação da WarehouseControlService.
Consulte também
Referência
Gerenciando os campos de Item de trabalho [witadmin]
Conceitos
Criação, personalização e gerenciamento de relatórios para ALM de Visual Studio
Outros recursos
Adicionar e modificar os campos de Item de trabalho para a emissão de relatórios de suporte
Processar manualmente o cubo do Analysis Services e Data Warehouse de Team Foundation Server