Quando tento processar meu cubo Olap SSAS2012, recebo muitos erros como este
Errors in the OLAP storage engine:
A duplicate attribute key has been found when processing: Table: 'dbo_ART'
,Column: 'NAZIV'
,Value: 'ARMATURA ZA KERAMIĆKI VODOKOTLIĆ'.
The attribute is 'Art Naziv'.
Errors in the OLAP storage engine: The record was skipped because the attribute key is a duplicate.
Attribute: Art Naziv of Dimension: ART from Database: robot, Record: 2451.
Ao investigar esse erro, descobri que em meu banco de dados transacional na tabela ART existem duas linhas totalmente diferentes com o valor da coluna NAZIV ='ARMATURA ZA KERAMIĆKI VODOKOTLIĆ' a única diferença desses dois registros é que um não possui letras com 'Ć' e 'Č' no lado oposto está a letra 'C'.
Se eu fizer
select naziv
from art
group by naziv
having count(*)>1
Eu não recebo nenhuma linha duplicada.
Porque alguns bancos de dados transacionais sabem a diferença entre as letras 'Č','Ć','C'.
Mas o cubo OLAP ao processar o Dimension ART lê todas essas letras como "C" e obtém chaves duplicadas.
Meu banco de dados transacional está no servidor padrão SQL 2012 R2 com Collation =Croatian_CI_AS server é geralmente definido como Latin1_General_CI_AI. Meu servidor SSAS 2012 Enterprise tem o Windows Collation definido como Latin1_General e todos os sensíveis estão desmarcados.
Como devo definir minhas configurações de idioma para o servidor SSAS para evitar esse erro. Essa configuração é "sensível a sotaque". Ou preciso alterar meu Windows Collation para outra coisa?
Você precisa alterar as configurações de agrupamento em suas consultas ou no SSAS. Existem várias opções diferentes, então a questão importante é se você usa o SSAS para outros bancos de dados além do Croatian_CI_AS.
Nesse caso, você pode apimentar todas as suas consultas com o agrupamento Latin1_General_CI_AS para garantir que você obtenha os dados no agrupamento Latin1 nos cubos. Se você estiver usando SSAS apenas para os dados croatas, altere o agrupamento SSAS para o mesmo.