Compartilhar via


Mensagem de erro ao processar uma dimensão

Este artigo ajuda você a resolver o problema que ocorre quando você processa uma dimensão no SQL Server Analysis Service.

Versão original do produto: SQL Server
Número original do KB: 2002757

Sintomas

No SQL Server Analysis Service, dimensione o processamento e você pode receber uma mensagem de erro semelhante à seguinte:

Erros no mecanismo de armazenamento OLAP: Uma chave de atributo duplicada foi encontrada ao processar: Tabela: 'TABLE_NAME', Coluna: 'ATTRIBUTE_COLUMN_NAME, Valor: 'ATTRIBUTE_VALUE'. O atributo é 'ATTRIBUTENAME' .

Causa

Este comportamento ocorre por design. SQL Server Analysis Services detectará a chave de atributo duplicada durante o processamento.

O erro acima também pode ser disparado quando o banco de dados relacional diferencia maiúsculas de minúsculas e os valores de dados estão em maiúsculas e minúsculas. No Analysis Services, ao criar uma dimensão e seus atributos, a ordenação padrão do atributo não diferencia maiúsculas de minúsculas. Por padrão, a dimensão tem ErrorConfiguration|KeyDuplicate definido como ReportAndStop. Portanto, se você tiver um banco de dados relacional que diferencia maiúsculas de minúsculas que, por exemplo, contém valores de dados BOOKNAME e Bookname, durante o processamento da dimensão, se os dados BOOKNAME foram processados primeiro como chave de atributo, o processamento subsequente falhará com o seguinte erro:

Uma chave de atributo duplicada foi encontrada ao processar: Tabela: 'TABLE_NAME', Coluna: 'ATTRIBUTE_COLUMN_NAME, Valor: 'Bookname'. O atributo é 'ATTRIBUTENAME'.

Solução

Ao criar dimensões, atributos de dimensão e relacionamentos de atributo, você deve verificar os valores de dados relacionais em busca de duplicatas e, se existirem, use um dos seguintes procedimentos para resolver o problema:

  • Opção 1: Edite a consulta nomeada no Modo de Exibição da Fonte de Dados para selecionar apenas os dados com o caso desejado.

    Por exemplo, você pode usar UPPER uma função de LOWER caso na consulta nomeada.

  • Opção 2: Você pode contornar o problema usando uma das seguintes opções:

    Observação

    Essas opções geralmente não são recomendadas, pois podem resultar em dados inesperados, mas podem ser usadas para fins de solução de problemas.

    • Defina o valor do elemento KeyDuplicate como ReportAndContinue e KeyErrorLimitAction como StopLogging em ErrorConfiguration.

    • Usando o Editor de Dimensões no Business Intelligence Development Studio (BIDS), abra a dimensão à qual o atributo pertence e defina a ordenação adequada para o atributo usando a propriedade Collation da dimensão.

      Observação

      Isso fará com que a dimensão tenha uma chave de atributo duplicada (valores de maiúsculas e minúsculas diferentes) após a conclusão do processamento.