Timeout beim Importieren großer Anpassungsdateien in Microsoft Dynamics CRM

Gilt für: Microsoft Dynamics CRM 2011Dynamics CRM 4.0

Wichtig Dieser Artikel enthält Informationen dazu, wie Sie die Registrierung ändern. Müssen Sie die Registrierung sichern, bevor Sie sie ändern. Stellen Sie sicher, dass Sie wissen, wie Sie die Registrierung wiederherstellen, falls ein Problem auftritt. Für weitere Informationen zum Sichern, Wiederherstellen und Bearbeiten der Registrierung klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:
256986 Beschreibung der Microsoft Windows-Registrierung

Problembeschreibung


Beim Importieren großer Anpassungsdateien in Microsoft Dynamics CRM 3.0 oder in Microsoft Dynamics CRM 4.0 tritt ein Timeout auf. Darüber hinaus erhalten Sie eine der folgenden Fehlermeldungen angezeigt.
Fehlermeldung 1
Importieren Sie Timeoutfehler.


Fehlermeldung 2
Maximale Anforderungslänge überschritten.
Fehlermeldung 3
Die Datei konnte nicht hochgeladen oder Fehler beim Importieren
Fehlermeldung 4
Dies ist keine gültige Anpassungsdatei. Verwenden Sie ein. XML-Datei, die durch Exportieren von Anpassungen generiert wurde.
Wenn DevErrors Wert in der Datei Web.config auf "On" festgelegt ist, wird die folgende Fehlermeldung angezeigt:
Fehlerbericht für Microsoft CRM-Plattform:


Beschreibung: Timeout abgelaufen


Fehlerdetails: Details zu diesem Fehler wurden von der Plattform nicht bereitgestellt.


Fehler: 0x80040E31
Außerdem, wenn Sie eine große Microsoft CRM-Datenbank von Microsoft Business Solutions - CRM 1.2 auf Microsoft Dynamics 3.0 oder von Microsoft Dynamics CRM 3.0 auf Microsoft Dynamics CRM 4.0 aktualisieren erhalten folgende Fehlermeldung Sie:
09:54:25 | Fehler | Installieren Sie die Ausnahme. System.Exception: Aktion Microsoft.Crm.Setup.Server.InstallDatabaseAction ist fehlgeschlagen. ---> System.Data.SqlClient.SqlException: Timeout abgelaufen. Das Zeitlimit wurde vor Abschluss des Vorgangs oder der Server antwortet nicht. System.Data.SqlClient.SqlCommand.ExecuteNonQuery() am Microsoft.Crm.Setup.DatabaseInstaller.DatabaseUtility.ExecuteSql (InstallDatabase Datenbank, Sql String, Int32 Timeout) am Microsoft.Crm.Setup.DatabaseInstaller.SqlScriptAction.Execute() in Microsoft.Crm.Setup.DatabaseInstaller.DatabaseInstaller.Install (Int32 Sprachcode, Datei, Boolean Upgrade) auf Microsoft.Crm.Setup.Server.InstallDatabaseAction.Do (IDictionary-Parameter) auf Microsoft.Crm.Setup.Common.Action.ExecuteAction (-Aktion IDictionary-Parameter, Boolean rückgängig)--der innere Ausnahme Stapelzustand--zum Microsoft.Crm.Setup.Common.Action.ExecuteAction (-Aktion, IDictionary-Parameter Boolean rückgängig) auf Microsoft.Crm.Setup.Common.Installer.Install (IDictionary StateSaver) am Microsoft.Crm.Setup.Server.DatabaseInstaller.Install (IDictionary StateSaver) am Ende Microsoft.Crm.Setup.Common.ComposedInstaller.InternalInstall (IDictionary StateSaver) am Microsoft.Crm.Setup.Common.ComposedInstaller.Install (IDictionary StateSaver) am Microsoft.Crm.Setup.Server.ServerSetup.Upgrade (IDictionary Daten) am Microsoft.Crm.Setup.Server.ServerSetup.Run()

Ursache


Dieses Problem tritt auf, weil eine der folgenden Situationen zutrifft:
  • Die Zeit wird, für die Anpassungsdatei importieren oder aktualisieren Microsoft Business Solutions - CRM überschreitet den OLEDBTimeout Standardwert in Microsoft Dynamics CRM für Microsoft SQL Server-Computer.
  • Der Zeitaufwand für die Anpassungsdatei importieren oder Aktualisieren von Microsoft CRM überschreitet den Wert ExtendedTimeout, der für lang andauernde Vorgänge verwendet.

    Hinweis Der ExtendedTimeout-Registrierungseintrag auf dem Microsoft Dynamics CRM-Server nicht auf einen Wert fest, der größer als 2.147.483.647. Das ist der maximale Wert der ExtendedTimout-Registrierungseintrag verwenden kann.

    Hinweis Importieren von Anpassungsdateien kann ein lang andauernder Vorgang sein.
  • Die Datei Customization.xml ist größer als 7,5 MB (Megabyte).

    Hinweise
    • Customization.xml-Datei wird erstellt, wenn Sie benutzerdefinierte Entitäten exportieren.
    • Standardmäßig begrenzt Microsoft ASP.NET HTTP-Anforderungsgröße 8 MB.

Problemlösung


Um dieses Problem zu beheben, verwenden Sie eine oder mehrere der folgenden Methoden.

Methode 1: Fügen Sie die OLEDBTimeout und ExtendedTimeout-Registrierungsunterschlüssel, um die Timeoutwerte zu erhöhen

Warnung Schwerwiegende Probleme können auftreten, wenn Sie die Registrierung nicht ordnungsgemäß mit dem Registrierungseditor oder mithilfe einer anderen Methode ändern. Diese Probleme können eine Neuinstallation des Betriebssystems erforderlich machen. Microsoft kann nicht garantieren, dass diese Probleme behoben werden können. Ändern Sie die Registrierung auf eigene Gefahr.
  1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie regedit ein, und klicken Sie dann auf OK.
  2. Suchen Sie den folgenden Registrierungsunterschlüssel:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
  3. Maustaste MSCRM, zeigen Sie auf neuund klicken Sie dann auf DWORD-Wert , um einen neuen DWORD-Wert erstellen.
  4. Benennen Sie den DWORD-Wert auf den folgenden Wert:
    OLEDBTimeout

    Hinweis: Dieser Wert ist Groß-/Kleinschreibung
  5. Maustaste auf den DWORD-Wert und klicken Sie dann auf Ändern.
  6. Klicken Sie im Dialogfeld DWORD-Wert bearbeiten 86400 im Feld Wert auf Dezimal Option Base , und klicken Sie dann auf OK.


    Hinweis Nach Maßgabe der Computer mit SQL Server und die Anzahl der Anpassungsdateien kann der Wert 86400 überschreiten. Der Wert der 86400 entspricht 24 Stunden. Dies sollte nur vorübergehend oder als Schritt zur Problembehandlung durchgeführt werden. Der empfohlene Wert dieser ist zwischen 30 und 300. Wenn diese Einstellung zu hoch kann Leistungseinbußen führen.
  7. Maustaste MSCRM, zeigen Sie auf neuund klicken Sie dann auf DWORD-Wert , um einen neuen DWORD-Wert erstellen.
  8. Benennen Sie den DWORD-Wert auf den folgenden Wert:
    ExtendedTimeout
  9. Maustaste auf den DWORD-Wert und klicken Sie dann auf Ändern.
  10. Klicken Sie im Dialogfeld DWORD-Wert bearbeiten Geben Sie 1000000 in das Feld Wert ein und klicken Sie auf OK.

    Hinweise
    • Sie können im Feld Wert einen Wert eingeben, der größer als 1.000.000. Jedoch Geben Sie einen Wert größer als 2.147.483.647. Dies ist hexadezimal 0x7FFFFFFF.
    • Wichtig: Wenn dieser Schlüssel vorhanden ist, beachten Sie den aktuellen Wert. Nach Abschluss des Imports oder das Update für Microsoft Dynamics CRM den Wert dieses Schlüssels wieder auf den ursprünglichen Wert oder löschen Sie Schlüssel, wenn es nicht bereits vorhanden ist. OLEDBTimeout Standardwert beträgt 30 Sekunden.

Methode 2: Ändern Sie die Parameter in zwei verschiedenen Web.config-Dateien

  1. Klicken Sie auf Start, AlleProgramme, klicken Sie auf Verwaltungund klicken Sie dann auf Internet Information Services (IIS) Manager.
  2. Erweitern Sie den Servernamen, und erweitern Sie dann Websites.
  3. Maustaste auf Microsoft CRM 3.0 -Website oder der Microsoft CRM 4.0 -Website, und klicken Sie auf Öffnen.
  4. Mit der rechten Maustaste in der Datei Web.config auf Öffnen mitund klicken Sie dann auf Editor.
  5. Suchen Sie im Editor die folgende Zeile ein.
    <httpRuntime executionTimeout="300" maxRequestLength="8192"/>
  6. Ändern von ExecutionTimeout = "3600" und ändern Sie MaxRequestLength = "20000".
  7. Speichern Sie und schließen Sie die Datei Web.config.
  8. Der Web.config-Datei öffnen im Verzeichnis öffnen Sie den Ordner MSCRMServices.
  9. Mit der rechten Maustaste in der Datei Web.config auf Öffnen mitund klicken Sie dann auf Editor.
  10. Suchen Sie im Editor die folgende Zeile ein.
    <httpRuntime maxRequestLength="8192"/>
  11. Ändern Sie MaxRequestLength = "20000".
  12. Speichern Sie und schließen Sie die Datei Web.config.
    • Wichtig: nach Abschluss der Aktion, die über Änderungen an der Datei web.config erforderlich sind, sollten diese Parameter auf die Standardwerte zurückgesetzt werden.

Weitere Informationen


OLEDBTimeout Wert

Der Wert OLEDBTimeout ist Sekunden. Standardmäßig ist der Wert OLEDBTimeout 30 Sekunden. OLEDBTimeout Wert steuert SQL-Timeoutwert, der für eine einzelne SQL-Abfrage verwendet wird. Erhöhte OLEDBTimeout Wert ist hilfreich, wenn SQL Server überlastet ist. Außerdem dauert die Abfrage länger verarbeiten.

ExtendedTimeout Wert

Der Wert ExtendedTimeout ist Millisekunden. Standardmäßig ist der Wert ExtendedTimeout 1000000 Millisekunden. Der ExtendedTimeout-Wert steuert ASP.NET Timeoutwert, der Import-Anfragen verwendet wird. Der Timeoutwert muss größer als die Zeit für den Abschluss der gesamten importieren. Der erhöhte Wert ExtendedTimeout eignet sich der Importvorgang dauert sehr lange.

Hinweis Wenn die Leistung von SQL Server langsam ist oder viele Anpassung Dateien importieren, dauert der Importvorgang ein.