Er treedt een time-out op wanneer u grote aanpassingsbestanden importeert in Microsoft Dynamics CRM 2011

Dit artikel biedt een oplossing voor het probleem dat er een time-out optreedt wanneer u probeert grote aanpassingsbestanden te importeren in Microsoft Dynamics CRM 2011.

Belangrijk

Dit artikel bevat informatie over het wijzigen van het register. Zorg ervoor dat u een back-up van het register maakt voordat u deze wijzigt. Zorg dat u weet hoe u het register wilt herstellen als er een probleem optreedt. Zie Windows-registerinformatie voor geavanceerde gebruikers voor meer informatie over het maken van back-ups, herstellen en wijzigen van het register.

Van toepassing op: Microsoft Dynamics CRM 2011
Origineel KB-nummer: 918609

Symptomen

Wanneer u grote aanpassingsbestanden importeert in Microsoft Dynamics CRM 2011, treedt er een time-out op. Daarnaast ontvangt u een van de volgende foutberichten.

Foutbericht 1

Time-outfout bij importeren.

Foutbericht 2

De maximale aanvraaglengte is overschreden.

Foutbericht 3

Het bestand kan niet worden geüpload of het importeren is mislukt

Foutbericht 4

Dit is geen geldig aanpassingsbestand. Gebruik een .XML bestand dat is gegenereerd door aanpassingen te exporteren.

Als de devErrors-waarde is ingesteld op Aan in het Web.config-bestand , ontvangt u het volgende foutbericht:

foutenrapport Microsoft CRM Platform:

Foutbeschrijving: Time-out verlopen

Foutdetails: details over deze fout zijn niet opgegeven door het platform.

Foutnummer: 0x80040E31

Wanneer u een grote Microsoft CRM-database bijwerken naar Microsoft Dynamics CRM 2011, kan het volgende foutbericht worden weergegeven:

09:54:25| Fout | Uitzondering installeren. System.Exception: Actie Microsoft.Crm.Setup.Server.InstallDatabaseAction is mislukt. --->
System.Data.SqlClient.SqlException: time-out verlopen. De time-outperiode is verstreken voordat de bewerking is voltooid of de server reageert niet. at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at
Microsoft.Crm.Setup.DatabaseInstaller.DatabaseUtility.ExecuteSql(InstallDatabase database, String sql, Int32 timeout) bij Microsoft.Crm.Setup.DatabaseInstaller.SqlScriptAction.Execute() at
Microsoft.Crm.Setup.DatabaseInstaller.DatabaseInstaller.Install(Int32 languageCode, Tekenreeksbestand, Booleaanse upgrade) om
Microsoft.Crm.Setup.Server.InstallDatabaseAction.Do(IDictionary parameters) at
Microsoft.Crm.Setup.Common.Action.ExecuteAction(Action action, IDictionary parameters, Boolean undo) --- Einde van interne uitzonderingsstack traceren --- op Microsoft.Crm.Setup.Common.Action.ExecuteAction(Actieactie, IDictionary parameters, Booleaanse ongedaan maken) at
Microsoft.Crm.Setup.Common.Installer.Install(IDictionary stateSaver) op
Microsoft.Crm.Setup.Server.DatabaseInstaller.Install(IDictionary stateSaver) op
Microsoft.Crm.Setup.Common.ComposedInstaller.InternalInstall(IDictionary stateSaver) at
Microsoft.Crm.Setup.Common.ComposedInstaller.Install(IDictionary stateSaver) at
Microsoft.Crm.Setup.Server.ServerSetup.Upgrade(IDictionary-gegevens) bij Microsoft.Crm.Setup.Server.ServerSetup.Run()

Oorzaak

Dit probleem treedt op omdat aan een van de volgende voorwaarden wordt voldaan:

  • De tijd die wordt gebruikt voor het importeren van de aanpassingsbestanden of voor het upgraden van Microsoft Business Solutions - CRM overschrijdt de standaardwaarde OLEDBTimeout in Microsoft Dynamics CRM voor de computer waarop Microsoft SQL Server wordt uitgevoerd.

  • De tijd die wordt gebruikt voor het importeren van de aanpassingsbestanden of voor het upgraden van Microsoft Dynamics CRM overschrijdt de ExtendedTimeout waarde die wordt gebruikt voor langdurige bewerkingen.

    Opmerking

    De ExtendedTimeout registervermelding op de Microsoft Dynamics CRM-server mag niet worden ingesteld op een waarde die groter is dan 2.147.483.647. Dit is de maximale waarde die de ExtendedTimout registervermelding kan gebruiken.
    Het importeren van aanpassingsbestanden kan een langdurige bewerking zijn.

  • De grootte van het Customization.xml-bestand is groter dan 7,5 MB (megabytes).

    Opmerking

    • Het Customization.xml-bestand wordt gemaakt wanneer u aangepaste entiteiten exporteert.
    • Standaard beperkt Microsoft ASP.NET de grootte van de HTTP-aanvraag tot 8 MB.

Oplossing

Gebruik een of meer van de volgende methoden om dit probleem op te lossen.

Methode 1: voeg de subsleutels OLEDBTimeout en ExtendedTimeout toe om de time-outwaarden te verhogen

Waarschuwing

Er kunnen zich ernstige problemen voordoen als u het register met de Register-editor of met een andere methode foutief wijzigt. Wellicht moet u door deze problemen het besturingssysteem opnieuw installeren. Microsoft kan niet garanderen dat deze problemen kunnen worden opgelost. Het wijzigen van het register is op eigen risico.

  1. Selecteer Start, selecteer Uitvoeren, typ regedit en selecteer vervolgens OK.

  2. Zoek de volgende registersubsleutel:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM

  3. Klik met de rechtermuisknop op MSCRM, wijs Nieuw aan en selecteer vervolgens DWORD-waarde om een nieuwe DWORD-waarde te maken.

  4. Wijzig de naam van de DWORD-waarde in de waarde OLEDBTimeout.

    Opmerking

    Deze waarde is hoofdlettergevoelig.

  5. Klik met de rechtermuisknop op de DWORD-waarde en selecteer vervolgens Wijzigen.

  6. Typ in het dialoogvenster DWORD-waarde bewerken86400 in het vak Waardegegevens , selecteer Decimaal in de optie Basis en selecteer vervolgens OK.

    Opmerking

    Afhankelijk van de vereiste van de computer waarop SQL Server wordt uitgevoerd en het aantal aanpassingsbestanden, kan de waarde groter zijn dan 86400. De waarde van 86400 is gelijk aan 24 uur. Dit mag alleen tijdelijk of als probleemoplossingsstap worden uitgevoerd. De aanbevolen waarde hiervan ligt tussen 30 en 300. Als u deze instelling te hoog laat, kan dit leiden tot prestatieproblemen.

  7. Klik met de rechtermuisknop op MSCRM, wijs Nieuw aan en selecteer vervolgens DWORD-waarde om een nieuwe DWORD-waarde te maken.

  8. Wijzig de naam van de DWORD-waarde in de waarde ExtendedTimeout.

  9. Klik met de rechtermuisknop op de DWORD-waarde en selecteer vervolgens Wijzigen.

  10. Typ in het dialoogvenster DWORD-waarde bewerken1000000 in het vak Waardegegevensen selecteer ok.

    Opmerking

    • In het vak Waardegegevens kunt u een waarde typen die groter is dan 1.000.000. Typ echter geen waarde die groter is dan 2.147.483.647. Dit is hexadecimaal 0x7FFFFFFF.
    • BELANGRIJK: Als deze sleutel al bestaat, ziet u de huidige waarde. Nadat u het importeren of de upgrade voor Microsoft Dynamics CRM hebt voltooid, stelt u de waarde van deze sleutel weer in op de oorspronkelijke waarde of verwijdert u de sleutel als deze nog niet bestond. De standaardwaarde OLEDBTimeout is 30 seconden.

Methode 2: de parameters in twee verschillende Web.config bestanden wijzigen

  1. Selecteer Start, selecteer Alle programma's, selecteer Systeembeheer en selecteer vervolgens IIS-beheer (Internet Information Services).

  2. Vouw de servernaam uit en vouw vervolgens Websites uit.

  3. Klik met de rechtermuisknop op de Microsoft CRM website en selecteer openen.

  4. Klik met de rechtermuisknop op het Web.config-bestand , selecteer Openen met en selecteer vervolgens Kladblok.

  5. Zoek in Kladblok de volgende regel.

    <httpRuntime executionTimeout="300" maxRequestLength="8192"/>

  6. Wijzig executionTimeout="3600" en change maxRequestLength="20000".

  7. Sla het Web.config-bestand op en sluit het vervolgens.

  8. Open de map MSCRMServices in de map waarin u het bestandWeb.config hebt geopend.

  9. Klik met de rechtermuisknop op het Web.config-bestand , selecteer Openen met en selecteer vervolgens Kladblok.

  10. Zoek in Kladblok de volgende regel.

    <httpRuntime maxRequestLength="8192"/>

  11. Wijzig maxRequestLength="20000".

  12. Sla het Web.config-bestand op en sluit het vervolgens.

    Belangrijk

    Na het voltooien van de actie waarvoor de bovenstaande wijzigingen in het web.config-bestand zijn vereist, moeten deze parameters opnieuw worden ingesteld op hun standaardwaarden.

Meer informatie

De waarde OLEDBTimeout

De eenheid van de OLEDBTimeout waarde is seconden. Standaard is de OLEDBTimeout waarde 30 seconden. De OLEDBTimeout waarde bepaalt de SQL-time-outwaarde die wordt gebruikt voor één SQL-query. De verhoogde OLEDBTimeout waarde is handig wanneer de SQL-server overbelast is. Bovendien duurt het verwerken van de query langer.

De waarde ExtendedTimeout

De eenheid van de ExtendedTimeout waarde is milliseconden. Standaard is de ExtendedTimeout waarde 1000000 milliseconden. De ExtendedTimeout waarde bepaalt de ASP.NET time-outwaarde die wordt gebruikt voor importaanvragen. De time-outwaarde moet groter zijn dan de tijd voor het voltooien van het hele importproces. De verhoogde ExtendedTimeout waarde is handig wanneer het importproces lang duurt.

Opmerking

Wanneer de prestaties van de SQL-server traag zijn of wanneer er veel aanpassingsbestanden zijn om te importeren, duurt het importeren lang.