Ważne Ten artykuł zawiera informacje dotyczące modyfikowania rejestru. Upewnij się, że kopii zapasowej rejestru przed przystąpieniem do modyfikacji. Upewnij się, że wiesz, jak przywrócić rejestr w przypadku pojawienia się problemu. Aby uzyskać więcej informacji na temat kopii zapasowej, przywracania i modyfikowania rejestru kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

256986 Opis rejestru systemu Microsoft Windows

Objawy

Podczas importowania dostosowania dużych plików do programu Microsoft Dynamics CRM 3.0 lub Microsoft Dynamics CRM 4.0 przekroczenia limitu czasu. Ponadto zostanie wyświetlony jeden z następujących komunikatów o błędach.

Komunikat o błędzie 1

Błąd limitu czasu importowania.


Komunikat o błędzie nr 2

Przekroczono długość maksymalna żądania.

Komunikat o błędzie 3

Nie można przekazać pliku lub importowanie nie powiodło się

Komunikat o błędzie 4

To nie jest plik dostosowania prawidłowy. Użyj. Plik XML, który został wygenerowany przez eksportowanie dostosowań.

Jeśli ustawiono wartość DevErrors jest ustawiony na "On" w pliku Web.config, pojawi się następujący komunikat o błędzie:

Raport o błędzie platformy MSCRM:


Opis błędu: Upłynął limit czasu


Szczegóły błędu: Szczegóły tego błędu nie zostały przewidziane przez platformę.


Numer błędu: 0x80040E31

Dodatkowo po uaktualnieniu z systemu Microsoft Business Solutions — CRM 1.2 do wersji Microsoft Dynamics 3.0 lub z programu Microsoft Dynamics CRM 3.0 do programu Microsoft Dynamics CRM 4.0 dużej bazy danych programu Microsoft CRM może zostać wyświetlony następujący komunikat o błędzie:

09:54:25 | Błąd | Zainstaluj wyjątek. System.Exception: Działanie Microsoft.Crm.Setup.Server.InstallDatabaseAction nie powiodło się. ---> System.Data.SqlClient.SqlException: Upłynął limit czasu. Limit upłynął przed ukończeniem operacji lub serwer nie odpowiada. w System.Data.SqlClient.SqlCommand.ExecuteNonQuery() w Microsoft.Crm.Setup.DatabaseInstaller.DatabaseUtility.ExecuteSql (InstallDatabase bazy danych, ciąg sql, Int32 limitu czasu) w Microsoft.Crm.Setup.DatabaseInstaller.SqlScriptAction.Execute() w Microsoft.Crm.Setup.DatabaseInstaller.DatabaseInstaller.Install (Int32 Kod_języka, plik String, Boolean uaktualnienia) w Microsoft.Crm.Setup.Server.InstallDatabaseAction.Do (IDictionary parametry) w Microsoft.Crm.Setup.Common.Action.ExecuteAction (działania działania, parametry IDictionary, Cofnij Boolean)---koniec śledzenia wewnętrznego stosu wyjątków---w Microsoft.Crm.Setup.Common.Action.ExecuteAction (działania działania, parametry IDictionary, Cofnij Boolean) w Microsoft.Crm.Setup.Common.Installer.Install (IDictionary stateSaver) o Microsoft.Crm.Setup.Server.DatabaseInstaller.Install (IDictionary stateSaver) o Microsoft.Crm.Setup.Common.ComposedInstaller.InternalInstall (IDictionary stateSaver) w Microsoft.Crm.Setup.Common.ComposedInstaller.Install (IDictionary stateSaver) o Microsoft.Crm.Setup.Server.ServerSetup.Upgrade (IDictionary dane) w Microsoft.Crm.Setup.Server.ServerSetup.Run()

Przyczyna

Ten problem występuje, ponieważ jeden z następujących warunków jest spełniony:

  • Czas używany do importowania plików dostosowania lub uaktualnienia systemu Microsoft Business Solutions — CRM przekracza wartość OLEDBTimeout domyślną w programie Microsoft Dynamics CRM dla komputera, na którym jest uruchomiony program Microsoft SQL Server.

  • Czas, który jest używany do importowania plików dostosowywania lub uaktualniania programu Microsoft CRM przekracza wartość ExtendedTimeout, która jest używana dla długotrwałych operacji.

    Uwaga Wpis rejestru ExtendedTimeout na serwerze Microsoft Dynamics CRM nie powinna być równa wartości, która jest większa niż 2 147 483 647. To jest wartość maksymalną, jaką można użyć wpisu rejestru ExtendedTimout.

    Uwaga Importowanie plików dostosowywania mogą być długotrwałą operację.

  • Rozmiar pliku Customization.xml jest większy niż 7,5 megabajtów (MB).

    Uwagi

    • Plik Customization.xml jest tworzony podczas eksportowania niestandardowych obiektów.

    • Domyślnie program Microsoft ASP.NET ogranicza rozmiar żądania HTTP do 8 MB.

Rozwiązanie

Aby rozwiązać ten problem, użyj jednej lub kilku z następujących metod.

Metoda 1: Dodawanie OLEDBTimeout i podklucze rejestru ExtendedTimeout, aby zwiększyć wartości limitu czasu

Ostrzeżenie: Nieprawidłowa modyfikacja rejestru za pomocą Edytora rejestru lub inną metodą może spowodować poważne problemy. Mogą one wymagać ponownego zainstalowania systemu operacyjnego. Firma Microsoft nie gwarantuje, że możliwe będzie rozwiązanie tych problemów. Modyfikujesz rejestr na własną odpowiedzialność.

  1. Kliknij przycisk Start, kliknij polecenie Uruchom, wpisz polecenie regedit, a następnie kliknij OK.

  2. Zlokalizuj następujący podklucz rejestru:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM

  3. Kliknij prawym przyciskiem myszy MSCRM, wskaż polecenie Nowy, a następnie kliknij polecenie Wartość DWORD , aby utworzyć nową wartość DWORD.

  4. Zmień nazwę wartości DWORD na następującą wartość:

    OLEDBTimeout

    Uwaga: Ta wartość jest uwzględniana wielkość liter

  5. Kliknij prawym przyciskiem myszy wartość DWORD, a następnie kliknij polecenie Modyfikuj.

  6. W oknie dialogowym Edytowanie wartości DWORD w polu Dane wartości wpisz 86400 , kliknij opcję dziesiętny w opcji Base , a następnie kliknij OK.


    Uwaga Zgodnie z wymaganiami komputera, na którym jest uruchomiony program SQL server i liczby plików dostosowywania wartość może być większy niż 86400. Wartość 86400 jest równoważne do 24 godzin. Powinno to tylko odbywać się tymczasowo lub podczas rozwiązywania problemów. Zalecana wartość to jest od 30 do 300. Pozostawiając zbyt wysokie ustawienie to może spowodować problemy z wydajnością.

  7. Kliknij prawym przyciskiem myszy MSCRM, wskaż polecenie Nowy, a następnie kliknij polecenie Wartość DWORD , aby utworzyć nową wartość DWORD.

  8. Zmień nazwę wartości DWORD na następującą wartość:

    ExtendedTimeout

  9. Kliknij prawym przyciskiem myszy wartość DWORD, a następnie kliknij polecenie Modyfikuj.

  10. W oknie dialogowym Edytowanie wartości DWORD w polu Dane wartości wpisz 1000000 , a następnie kliknij przycisk OK.

    Uwagi

    • W polu Dane wartości można wpisać wartość, która jest większa niż 1 000 000. Jednakże nie należy wpisywać wartość, która jest większa niż 2 147 483 647. Jest to 0x7FFFFFFF szesnastkowych.

    • Ważne: Jeśli ten klucz już istnieje, należy zauważyć, bieżącą wartość. Po zakończeniu importu lub uaktualnienia programu Microsoft Dynamics CRM, ustaw wartość tego klucza na wartość oryginalnego lub Usuń klucz, jeśli wcześniej nie istniał. OLEDBTimeout wartość domyślna wynosi 30 sekund.

Metoda 2: Modyfikowanie parametrów w dwóch różnych plikach Web.config

  1. Kliknij przycisk Start, kliknij polecenie Wszystkie programy, kliknij polecenie Narzędzia administracyjne, a następnie kliknij Menedżer usług Internet Information Services (IIS).

  2. Rozwiń nazwę serwera, a następnie rozwiń węzeł witryny sieci Web.

  3. Kliknij prawym przyciskiem myszy witrynę sieci Web programu Microsoft CRM w wersji 3.0 lub witryny sieci Web programu Microsoft CRM 4.0 , a następnie kliknij przycisk Otwórz.

  4. Kliknij prawym przyciskiem myszy plik Web.config, kliknij przycisk Otwórz, a następnie kliknij program Notatnik.

  5. W programie Notatnik odszukaj poniższy wiersz.

    <httpRuntime executionTimeout="300" maxRequestLength="8192"/>
  6. Zmiana executionTimeout = "3600" i zmień maxRequestLength = "20000".

  7. Zapisz i zamknij plik Web.config.

  8. W katalogu, w którym otwarto plik Web.config Otwórz MSCRMServices folder.

  9. Kliknij prawym przyciskiem myszy plik Web.config, kliknij przycisk Otwórz, a następnie kliknij program Notatnik.

  10. W programie Notatnik odszukaj poniższy wiersz.

    <httpRuntime maxRequestLength="8192"/>
  11. Zmiana maxRequestLength = "20000".

  12. Zapisz i zamknij plik Web.config.

    • Ważne: po zakończeniu działania, które wymaga powyższe zmiany w pliku web.config, parametry te powinien być resetowany do wartości domyślnych.


Więcej informacji

Wartość OLEDBTimeout

Jednostki wartości OLEDBTimeout jest sekund. Domyślnie wartość OLEDBTimeout jest 30 sekund. Wartość OLEDBTimeout określa wartość limitu czasu SQL, który jest używany w jednej kwerendzie SQL. Zwiększona wartość OLEDBTimeout jest przydatna, gdy program SQL server jest przeciążony. Dodatkowo kwerenda ma dłuższy czas przetwarzania.

Wartość ExtendedTimeout

Jednostki wartości ExtendedTimeout jest milisekund. Domyślnie wartość ExtendedTimeout jest 1000000 milisekund. Wartość ExtendedTimeout określa wartość limitu czasu ASP.NET, który jest używany dla wniosków importowych. Wartość limitu czasu musi być większy niż godzinę zakończenia procesu importowania całej. Zwiększenie wartości ExtendedTimeout jest przydatne podczas procesu importowania zajmuje dużo czasu.

Uwaga Gdy spada wydajność programu SQL server, lub gdy istnieje wiele plików dostosowywania do zaimportowania, proces importowania zajmuje dużo czasu.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jak zadowalająca jest jakość tłumaczenia?

Co wpłynęło na Twoje wrażenia?

Czy chcesz przekazać jakieś inne uwagi? (Opcjonalnie)

Dziękujemy za opinię!

×