Translate

terça-feira, 15 de abril de 2014

CRM2011- Reports Sem Dados

Boa tarde pessoal!

Hoje vou compartilhar com vocês um problema que enfrentei com o CRM2011.

Todo o ambiente de produção deste CRM já havia sido entregue ao cliente, tudo estava funcionando...quase tudo!

Quando um novo relatório era criado e importado para o CRM, ao executa-lo, este relatório não exibia nenhum dado. Durante a criação de um novo relatório era possível ver no preview que tudo estava correto, método de autenticação, banco de dados DataSource...tudo.

Este problema persistiu no cliente por um longo tempo, consultores e desenvolvedores tentaram varias possíveis soluções e nada...

Algumas semanas depois estive neste cliente e comecei a analisar o problema. Primeiro criei um relatório simples no ambiente de homologação, importei ele para o CRM e tudo ok. Neste caso o ambiente de homologação e todos os componentes estão instalados em um único servidor.

No ambiente de produção temos um servidor para cada componente. Repeti a criação de um report, durante o preview ele funcionou normalmente, mas ao importa-lo para o CRM ele novamente não trouxe os dados que deveria trazer.

Comecei a verificar os logs gerados no event viewer e também os logs gerados pelo SQL Server.

Obs: O cliente já havia reportado estas entradas nos logs do SQL Server...

Ao abrir o log do SQL Server, a cada tentativa de geração do relatorio, um novo registro como este logo abaixo era criado:

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: 192.168.0.174]

Lembrando que este registro somente era gravado quando o relatório era executado pelo CRM via browser.

Minha duvida, que ainda permanece, é a seguinte... Por que o CRM utiliza autenticação anônima para exibir estes relatórios?

Minha primeira tentativa para tentar corrigir o problema, ainda no ambiente de homologação, foi importar esta conta para a instância do CRM e deixa-la como "SYSADMIN". Esta ação, apesar de não ser a mais correta, resolveu o problema e os relatórios customizados passaram a funcionar.

No ambiente de produção restringi mais a permissão para esta conta e com isso os relatorios também passaram a funcionar!

Portanto, a solução para este problema foi importar esta conta para o SQL Server com as devidas permissões no banco de dados do CRM e Reporting Services.

Resolvido o problema, passei a procurar o porque dele, por qual razão o CRM estava utilizando autenticação anônima para os relatórios customizados, e durante esta pesquisa encontrei o seguinte link:

http://blog.sonomapartners.com/2007/04/kerberos_and_de.html

Depois de ler o post ajustei as configurações no servidor do cliente e tudo funcionou perfeitamente.

Apesar de ser de 2007 este post é muito valido, sugiro a vocês a leitura dele!

Até a próxima pessoal!