Artigo: 918609 - Última revisão: quarta-feira, 26 de Janeiro de 2011 - Revisão: 1.1

Atingido o tempo limite quando importa ficheiros de personalização de grandes dimensões para o Microsoft Dynamics CRM

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
ImportanteEste artigo contém informações sobre como modificar o registo. Certifique-se efectuar cópias de segurança do registo antes de o modificar. Certifique-se de que sabe como restaurar o registo se ocorrer um problema. Para mais informações sobre como efectuar cópias de segurança, restaurar e modificar o registo, faça clique sobre o número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
256986  (http://support.microsoft.com/kb/256986/ ) Descrição do registo do Microsoft Windows

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Quando importa ficheiros de grandes dimensões de personalização no Microsoft Dynamics CRM 3. 0 ou 4. 0 do Microsoft Dynamics CRM, ocorre um tempo limite. Além disso, recebe uma das seguintes mensagens de erro.
Mensagem de erro 1
Erro de tempo de espera de importação.
Mensagem de erro 2
Comprimento de pedido de máximo excedido.
Mensagem de erro 3
Não foi possível enviar o ficheiro ou a importação falhou
Mensagem de erro 4
Não se trata de um ficheiro de personalização válido. Utilize um.Ficheiro XML que foi gerado ao exportar personalizações.
Se o valor DevErrors estiver definido como "On" no ficheiro Web. config, receberá a seguinte mensagem de erro:
Relatório de erros de plataforma do Microsoft CRM:
Descrição do erro: Tempo limite expirou
Detalhes do erro: Obter informações detalhadas sobre este erro, não tenham sido previstas pela plataforma.
Número de erro: 0x80040E31
Além disso, quando actualiza uma base de dados do Microsoft CRM grande do Microsoft Business Solutions - CRM 1. 2 para Microsoft Dynamics 3. 0 ou do Microsoft Dynamics CRM 3. 0 para Microsoft Dynamics CRM 4. 0, poderá receber a seguinte mensagem de erro:
09:54:25| Error| Instale a excepção.System. Exception: Falhou a acção Microsoft.Crm.Setup.Server.InstallDatabaseAction. ---> System.Data.SqlClient.SqlException: tempo limite expirou. O período de tempo limite esgotou-se anteriormente ao cumprimento da operação ou o servidor não está a responder. a System.Data.SqlClient.SqlCommand.ExecuteNonQuery() em Microsoft.Crm.Setup.DatabaseInstaller.DatabaseUtility.ExecuteSql (InstallDatabase da base de dados, cadeia de sql, tempo de espera de Int32) no Microsoft.Crm.Setup.DatabaseInstaller.SqlScriptAction.Execute(), Microsoft.Crm.Setup.DatabaseInstaller.DatabaseInstaller.Install (Int32 Código_idioma, o ficheiro de cadeia, boleana actualização) em Microsoft.Crm.Setup.Server.InstallDatabaseAction.Do (IDictionary parâmetros) em Microsoft.Crm.Setup.Common.Action.ExecuteAction (acção de acção, os parâmetros de IDictionary, anular booleano)---fim de rastreio da pilha de excepção interna---a Microsoft.Crm.Setup.Common.Action.ExecuteAction (acção de acção, os parâmetros de IDictionary, anular booleano) em Microsoft.Crm.Setup.Common.Installer.Install (IDictionary stateSaver) em Microsoft.Crm.Setup.Server.DatabaseInstaller.Install (IDictionary stateSaver) em Microsoft.Crm.Setup.Common.ComposedInstaller.InternalInstall (IDictionary stateSaver) em Microsoft.Crm.Setup.Common.ComposedInstaller.Install (IDictionary stateSaver) em Microsoft.Crm.Setup.Server.ServerSetup.Upgrade (IDictionary dados) no Microsoft.Crm.Setup.Server.ServerSetup.Run()

Causa

Este problema ocorre porque uma das seguintes condições for verdadeira:
  • O tempo que é utilizado para importar os ficheiros de personalização ou para actualizar o Microsoft Business Solutions - CRM excede o valor de OLEDBTimeout predefinido no Microsoft Dynamics CRM para o computador que esteja a executar o Microsoft SQL Server.
  • A hora em que é utilizada para importar os ficheiros de personalização ou para a actualização do Microsoft CRM excede o valor de ExtendedTimeout, que é utilizado para operações de execução longa.

    NotaA entrada de registo ExtendedTimeout no servidor do Microsoft Dynamics CRM não deve ser definida para um valor que for maior do que 2.147.483.647. Que é o valor máximo que pode utilizar a entrada de registo ExtendedTimout.

    NotaImportar ficheiros de personalização, pode ser uma operação demorada.
  • O tamanho do ficheiro customization. XML é superior a 7. 5 megabytes (MB).

    Notas
    • O ficheiro customization. XML é criado quando a exportação de entidades personalizadas.
    • Por predefinição, o Microsoft ASP.NET limita o tamanho do pedido HTTP para 8 MB.

Resolução

Para resolver este problema, utilize um ou mais dos seguintes métodos.

Método 1: Adicionar o OLEDBTimeout e as subchaves de registo ExtendedTimeout para aumentar os valores de limite de tempo

AvisoSe modificar o registo incorrectamente utilizando o Editor de registo ou utilizando outro método, podem ocorrer problemas graves. Estes problemas poderão forçar a reinstalação do sistema operativo. A Microsoft não garante que estes problemas possam ser resolvidos. Modificar o registo por sua conta e risco.
  1. Clique emIniciar, clique emExecutar, tipoRegedite, em seguida, clique emOK.
  2. Localize a seguinte subchave de registo:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
  3. Com o botão direitoMSCRM, aponte paraNovoe, em seguida, clique emValor DWORDPara criar um novo valor DWORD.
  4. Mudar o nome do valor DWORD para o seguinte valor:
    OLEDBTimeout
  5. O valor DWORD com o botão direito e, em seguida, clique emModificar.
  6. NaEditar valor DWORDcaixa de diálogo, escreva86400naDados do valorClique emDecimalnaBaseopção e, em seguida, cliqueOK.

    NotaEm conformidade com o requisito do computador que está a executar o SQL server e o número de ficheiros de personalização, o valor pode ser maior do que a 86400. O valor de 86400 é equivalente a 24 horas.
  7. Com o botão direitoMSCRM, aponte paraNovoe, em seguida, clique emValor DWORDPara criar um novo valor DWORD.
  8. Mudar o nome do valor DWORD para o seguinte valor:
    ExtendedTimeout
  9. O valor DWORD com o botão direito e, em seguida, clique emModificar.
  10. NaEditar valor DWORDcaixa de diálogo, escreva1000000naDados do valorcaixa e, em seguida, cliqueOK.

    Notas
    • NaDados do valorcaixa, pode escrever um valor com mais de 1.000.000. No entanto, não escreva um valor que for maior do que 2.147.483.647. Esta é a hexadecimal 0x7FFFFFFF.
    • Se esta chave já existir, repare o valor actual. Depois de concluir a importação ou a actualização para o Microsoft Dynamics CRM, defina o valor desta chave para o valor original ou eliminar a chave se esta não existia anteriormente. A predefinição de tempo limite do OLEDB é 30 segundos.

Método 2: Modificar os parâmetros em dois ficheiros diferentes da Web. config

  1. Clique emIniciar, clique emTodos os programas, clique emFerramentas administrativase, em seguida, clique emInternet Information Services (IIS) Manager.
  2. Expanda o nome do servidor e, em seguida, expandaWeb Sites.
  3. Com o botão direito doMicrosoft CRM v3. 0Web site ou oV4. 0 do Microsoft CRMWeb site e, em seguida, clique emAbrir.
  4. Botão direito do rato no ficheiro Web. config, clique emAbrir come, em seguida, clique emBloco de notas.
  5. No bloco de notas, localize a seguinte linha.
    <httpRuntime executionTimeout="300" maxRequestLength="8192"/>
  6. Alterar executionTimeout = "3600" e altere o maxRequestLength = "20000".
  7. Guarde e feche o ficheiro Web. config.
  8. No directório em que abriu o ficheiro Web. config, abra a pasta de MSCRMServices.
  9. Botão direito do rato no ficheiro Web. config, clique emAbrir come, em seguida, clique emBloco de notas.
  10. No bloco de notas, localize a seguinte linha.
    <httpRuntime maxRequestLength="8192"/>
  11. Alterar maxRequestLength = "20000".
  12. Guarde e feche o ficheiro Web. config.

Mais Informação

O valor de OLEDBTimeout

A unidade do valor OLEDBTimeout é segundos. Por predefinição, o valor de OLEDBTimeout é 30 segundos. O valor de OLEDBTimeout controla o valor de limite de tempo SQL que é utilizado para uma única consulta SQL. O valor aumentado do OLEDBTimeout é útil quando o SQL server está sobrecarregado. Além disso, a consulta demora mais tempo a processar.

O valor de ExtendedTimeout

A unidade do valor ExtendedTimeout é milissegundos. Por predefinição, o valor de ExtendedTimeout é 1000000 milissegundos. O valor de ExtendedTimeout controla o ASP.Valor de limite de tempo útil que é utilizado para pedidos de importação. O valor de limite de tempo tem de ser maior do que o tempo para concluir o processo de importação completa. O maior valor de ExtendedTimeout é útil quando o processo de importação demora muito tempo.

NotaQuando o desempenho do SQL server é lento, ou quando existem muitos ficheiros de personalização para importar, o processo de importação é muito demorada.

A informação contida neste artigo aplica-se a:
  • Microsoft Dynamics CRM 2011
  • Microsoft Dynamics CRM 4.0
Palavras-chave: 
kbmbscrm40 kbmbscustomization kberrmsg kbtshoot kbmbsmigrate kbprb kbsurveynew kbmt KB918609 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 918609  (http://support.microsoft.com/kb/918609/en-us/ )