none
Trocar unidade de negocio de um usuario RRS feed

  • Pergunta

  • Pessoal

    Estou com um problema e gostaria de saber se alguem ja se deparou com isso.
    Em meu CRM, trabalho com 3 Unidades de Negocio, e estou precisando alterar alguns usuários de uma unidade para outra, porem nao estou conseguindo.
    O problema é que nenhuma informação de erro é exibida, quando eu confirmo a nova Unidade de Negocio deste usuário, o sistema exibe uma tela com a descrição "Erro".
    Alguem ja viu isso acontecer?

    Obrigado.
    Ailton
    quarta-feira, 25 de fevereiro de 2009 20:24

Respostas

  • Pessoal, ate que enfim consegui resolver meu problema. Depois de muitas tentativas, analise de logs e consultas a varios sites relacionados, estou conseguindo alterar a unidade de negocio de um usuário.
    Encontrei em um artigo do suporte da Microsoft um script que limpa a tabela AsyncOperationBase, esta tabela começa crescer muito e atrapalha o funcionamento de várias coisas no CRM.
    Segue abaixo o script caso alguem tenha esse mesmo problema:

    declare @DeleteRowCount int
    Select @DeleteRowCount = 2000
    declare @DeletedAsyncRowsTable table (AsyncOperationId uniqueidentifier not null)
    declare @continue int, @rowCount int
    select @continue = 1
    while (@continue = 1)
    begin
          begin tran
          insert into @DeletedAsyncRowsTable(AsyncOperationId)
          Select top (@DeleteRowCount) AsyncOperationId
          from AsyncOperationBase
          where OperationType in (1, 9, 12, 25, 27, 10) AND StateCode = 3 AND StatusCode in (30, 32)    

          Select @rowCount = 0
          Select @rowCount = count(*) from @DeletedAsyncRowsTable
          select @continue = case when @rowCount <= 0 then 0 else 1 end    

            if (@continue = 1)
            begin
                delete WorkflowLogBase from WorkflowLogBase W, @DeletedAsyncRowsTable d
                where W.AsyncOperationId = d.AsyncOperationId
               
    delete BulkDeleteFailureBase From BulkDeleteFailureBase B, @DeletedAsyncRowsTable d
                where B.AsyncOperationId = d.AsyncOperationId

                delete AsyncOperationBase From AsyncOperationBase A, @DeletedAsyncRowsTable d
                where A.AsyncOperationId = d.AsyncOperationId           

                delete @DeletedAsyncRowsTable
          end

          commit
    end



    Observação importante: Demora!

    Obrigado a todos.
    quarta-feira, 10 de junho de 2009 15:44

Todas as Respostas

  • Oi Ailton,

    Sugiro que você leia o no link a seguir para habilitar os detalhes de erros, assim, você poderá avaliar melhor o que está acontecendo.

    http://support.microsoft.com/kb/857192/en-us

    Apenas para ter certeza, você é administrador na unidade de negócio raiz?

    []´s

    "Trabalhe com amor, divida seu conhecimento com a comunidade."


    Carlos Amorim Junior
    quarta-feira, 25 de fevereiro de 2009 20:47
  • Olá Ailton.


    Para que possamos te ajudar, o ideal é que você implemente o Rollup 2 para CRM.
    Se ele não corrigir este problema ai daremos continuidade no seu caso.

    http://www.microsoft.com/DOWNLOADS/details.aspx?displaylang=pt-br&FamilyID=aa671769-61e9-45c4-919f-c88199aa4241


    Ronaldo Bernardo MCP - MCTS - MBSS www.ronaldowl.spaces.live.com
    quarta-feira, 25 de fevereiro de 2009 20:47
  • Olá Ailton,

    Eu me deparei com este erro e notei que, no meu caso, se tratava de um "interno" [Timed-Out]!

    Resolvi adicionando duas chaves no Registry do Windows, para o CRM:

    1 - Start -> Run -> Regedit;

    2 - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM;

    3 - Adicione a chave chamada [OLEDBTimeout]
       3.1 - Na base decimal, digite o valor [86400].

    4 - Adicione a chave chamada [ExtendedTimeout]
       4.1 - Na base decimal, digite o valor [1000000].

    []s
    Gilberto Tezini - MCP ASP.NET (C#/VB.NET) / MCP CRM - (http://gtezini.blogspot.com)
    quinta-feira, 26 de fevereiro de 2009 13:29
  • Olá Ailton,

    Alguma novidade?!

    Conseguiu verificar meu último Post?

    []
    Gilberto Tezini - MCP ASP.NET (C#/VB.NET) / MCP CRM - (http://gtezini.blogspot.com)
    terça-feira, 10 de março de 2009 17:40
  • Ola Gilberto

    Apareceram outras prioridades aqui e acabei me atrasando nisso.  Grande coincidencia me perguntar, pois estou fazendo os testes hoje.

    Infelizmente nao estou tendo sucesso. Aumentei o timeout, ele está demorando mais no processamento, mas ao final ele apresenta a mensagem de erro. Fiz a atualização do Rollup2 conforme sugestão do Ronaldo e alterei o arquivo web.config, conforme a sugestão do Carlos. Apesar de alterar o Web.Config, ele nao me trouxe detalhes, nao para esse erro. Forcei outros erros e eles vieram detalhados, mas este nao está vindo detalhado... Simplesmente me exibe "Erro."

    Nesse momento estou criando uma outra organização de teste, para saber se em outra organização ocorrerá este problema. Penso em fazer este teste para saber se o problema está na base.

    Se alguem tiver mais alguma ideia, eu agradeço.

    Obrigado.

    Ailton

     

    terça-feira, 10 de março de 2009 18:00
  • Ailton,

    Este erro ocorre com todos os usuários? Mesmo se você elevar ao máximo as permissões para o usuário?

    Como sugestão, faça um diagnóstico no servidor do CRM, habilitando o Trace (http://gtezini.blogspot.com/2008/12/microsoft-crm-diagnostics-tool-4.html), simulando novamente o problema e analisando os arquivos de logs gerados por ele.


    Gilberto Tezini - MCP ASP.NET (C#/VB.NET) / MCP CRM - (http://gtezini.blogspot.com)
    terça-feira, 10 de março de 2009 19:03
  • Pessoal, ate que enfim consegui resolver meu problema. Depois de muitas tentativas, analise de logs e consultas a varios sites relacionados, estou conseguindo alterar a unidade de negocio de um usuário.
    Encontrei em um artigo do suporte da Microsoft um script que limpa a tabela AsyncOperationBase, esta tabela começa crescer muito e atrapalha o funcionamento de várias coisas no CRM.
    Segue abaixo o script caso alguem tenha esse mesmo problema:

    declare @DeleteRowCount int
    Select @DeleteRowCount = 2000
    declare @DeletedAsyncRowsTable table (AsyncOperationId uniqueidentifier not null)
    declare @continue int, @rowCount int
    select @continue = 1
    while (@continue = 1)
    begin
          begin tran
          insert into @DeletedAsyncRowsTable(AsyncOperationId)
          Select top (@DeleteRowCount) AsyncOperationId
          from AsyncOperationBase
          where OperationType in (1, 9, 12, 25, 27, 10) AND StateCode = 3 AND StatusCode in (30, 32)    

          Select @rowCount = 0
          Select @rowCount = count(*) from @DeletedAsyncRowsTable
          select @continue = case when @rowCount <= 0 then 0 else 1 end    

            if (@continue = 1)
            begin
                delete WorkflowLogBase from WorkflowLogBase W, @DeletedAsyncRowsTable d
                where W.AsyncOperationId = d.AsyncOperationId
               
    delete BulkDeleteFailureBase From BulkDeleteFailureBase B, @DeletedAsyncRowsTable d
                where B.AsyncOperationId = d.AsyncOperationId

                delete AsyncOperationBase From AsyncOperationBase A, @DeletedAsyncRowsTable d
                where A.AsyncOperationId = d.AsyncOperationId           

                delete @DeletedAsyncRowsTable
          end

          commit
    end



    Observação importante: Demora!

    Obrigado a todos.
    quarta-feira, 10 de junho de 2009 15:44
  • Beleza Ailton!
    Gilberto Tezini - MCP ASP.NET (C#/VB.NET) / MCP CRM - (http://gtezini.blogspot.com)
    quarta-feira, 10 de junho de 2009 17:12