Quan trọng Bài viết này chứa thông tin về cách sửa đổi sổ đăng ký. Hãy chắc chắn sao lưu sổ đăng ký trước khi bạn sửa đổi nó. Đảm bảo rằng bạn biết cách khôi phục sổ đăng ký nếu sự cố xảy ra. Để biết thêm thông tin về cách sao lưu, khôi phục và sửa đổi sổ đăng ký, hãy bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

256986 về Microsoft Windows registry

Triệu chứng

Khi bạn nhập tệp lớn tuỳ chỉnh vào Microsoft Dynamics CRM 3.0 hay Microsoft Dynamics CRM 4.0, thời gian chờ sẽ xảy ra. Ngoài ra, bạn nhận được một thông báo lỗi sau.

Thông báo lỗi 1

Nhập lỗi thời gian chờ.


Thông báo lỗi 2

Chiều dài tối đa yêu cầu vượt quá.

Thông báo lỗi 3

Tệp có thể không được tải lên hoặc nhập không thành công

Lỗi 4

Đây không phải là tệp tuỳ chỉnh hợp lệ. Vui lòng sử dụng một. Tệp XML được tạo ra bởi xuất tuỳ chỉnh.

Nếu giá trị DevErrors được đặt thành "Nhập" vào tệp Web.config, bạn nhận được thông báo lỗi sau:

Báo cáo lỗi của Microsoft CRM nền tảng:


Mô tả lỗi: Thời gian chờ hết hạn


Chi tiết lỗi: Chi tiết về lỗi này không được cung cấp bởi nền tảng.


Số lỗi: 0x80040E31

Ngoài ra, khi bạn nâng cấp cơ sở dữ liệu Microsoft CRM lớn từ Microsoft Business Solutions - 1.2 CRM cho Microsoft Dynamics 3.0 hoặc từ Microsoft Dynamics CRM 3.0 cho Microsoft Dynamics CRM 4.0, bạn có thể nhận được thông báo lỗi sau:

09:54:25 | Lỗi | Cài đặt ngoại lệ. System.Exception: Microsoft.Crm.Setup.Server.InstallDatabaseAction hành động không thành công. ---> System.Data.SqlClient.SqlException: thời gian chờ hết hạn. Thời gian chờ trôi qua trước khi hoàn thành các hoạt động hoặc máy chủ không đáp ứng. System.Data.SqlClient.SqlCommand.ExecuteNonQuery() tại Microsoft.Crm.Setup.DatabaseInstaller.DatabaseUtility.ExecuteSql (InstallDatabase cơ sở dữ liệu, Chuỗi sql Int32 timeout) ở Microsoft.Crm.Setup.DatabaseInstaller.SqlScriptAction.Execute() tại Microsoft.Crm.Setup.DatabaseInstaller.DatabaseInstaller.Install (Int32 languageCode, Chuỗi tệp nâng cấp phép) tại Microsoft.Crm.Setup.Server.InstallDatabaseAction.Do (IDictionary tham số) tại Microsoft.Crm.Setup.Common.Action.ExecuteAction (hành IDictionary tham số, Boolean hoàn)---cuối của dấu vết xếp chồng ngoại lệ bên trong---tại Microsoft.Crm.Setup.Common.Action.ExecuteAction (hành, IDictionary tham số Boolean hoàn) tại Microsoft.Crm.Setup.Common.Installer.Install (IDictionary stateSaver) tại Microsoft.Crm.Setup.Server.DatabaseInstaller.Install (IDictionary stateSaver) tại Microsoft.Crm.Setup.Common.ComposedInstaller.InternalInstall (IDictionary stateSaver) tại Microsoft.Crm.Setup.Common.ComposedInstaller.Install (IDictionary stateSaver) tại Microsoft.Crm.Setup.Server.ServerSetup.Upgrade (IDictionary dữ liệu) tại Microsoft.Crm.Setup.Server.ServerSetup.Run()

Nguyên nhân

Sự cố này xảy ra do một trong các điều kiện sau là đúng:

  • Thời gian được sử dụng để nhập tệp tuỳ chỉnh hoặc nâng cấp Microsoft Business Solutions - CRM vượt giá trị OLEDBTimeout mặc định trong Microsoft Dynamics CRM cho máy tính đang chạy Microsoft SQL Server.

  • Thời gian được sử dụng để nhập tệp tuỳ chỉnh hoặc nâng cấp Microsoft CRM vượt giá trị ExtendedTimeout được sử dụng cho các hoạt động chạy dài.

    Lưu ý ExtendedTimeout mục đăng ký trên máy chủ Microsoft Dynamics CRM không được đặt thành giá trị lớn hơn 2,147,483,647. Đó là giá trị tối đa ExtendedTimout mục đăng ký có thể sử dụng.

    Lưu ý Nhập tệp tuỳ chỉnh có thể hoạt động dài chạy.

  • Kích thước tệp Customization.xml là lớn hơn 7.5 megabyte (MB).

    Lưu ý:

    • Các tập tin Customization.xml được tạo khi bạn xuất thực thể tuỳ chỉnh.

    • Theo mặc định, Microsoft ASP.NET giới hạn kích thước yêu cầu HTTP 8 MB.

Giải pháp

Để giải quyết vấn đề này, sử dụng một hoặc nhiều phương pháp sau.

Phương pháp 1: Thêm OLEDBTimeout và khoá con đăng ký ExtendedTimeout để tăng giá trị thời gian chờ

Cảnh báo Vấn đề nghiêm trọng có thể xảy ra nếu bạn sửa đổi sổ đăng ký không đúng bằng cách sử dụng Registry Editor hoặc bằng cách sử dụng phương pháp khác. Các sự cố này có thể yêu cầu bạn phải cài đặt lại hệ điều hành. Microsoft không thể đảm bảo rằng các vấn đề có thể giải quyết. Sửa đổi sổ đăng ký rủi ro của riêng bạn.

  1. Bấm vào Bắt đầu, bấm vào Chạy, nhập regedit, sau đó bấm OK.

  2. Định vị khoá con đăng ký sau:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM

  3. Bấm chuột phải vào MSCRM, điểm đến mới, và sau đó bấm Giá trị DWORD để tạo một giá trị DWORD mới.

  4. Đổi tên giá trị DWORD giá trị sau:

    OLEDBTimeout

    LƯU Ý: Giá trị này là trường hợp nhạy cảm

  5. Bấm chuột phải vào giá trị, và sau đó bấm sửa đổi.

  6. Trong hộp thoại Chỉnh sửa giá trị DWORD , nhập 86400 vào ô dữ liệu giá trị , bấm thập phân tuỳ chọn cơ sở và sau đó bấm OK.


    Lưu ý Theo yêu cầu của máy tính đang chạy SQL server và số lượng tệp tuỳ chỉnh, giá trị có thể lớn hơn 86400. Giá trị của 86400 là tương đương với 24 giờ. Điều này sẽ chỉ được thực hiện tạm thời hoặc một bước khắc phục sự cố. Giá trị khuyến nghị này là từ 30 đến 300. Để cài đặt này quá cao có thể gây ra vấn đề hiệu suất.

  7. Bấm chuột phải vào MSCRM, điểm đến mới, và sau đó bấm Giá trị DWORD để tạo một giá trị DWORD mới.

  8. Đổi tên giá trị DWORD giá trị sau:

    ExtendedTimeout

  9. Bấm chuột phải vào giá trị, và sau đó bấm sửa đổi.

  10. Trong hộp thoại Chỉnh sửa giá trị DWORD , nhập 1000000 trong ô dữ liệu giá trị rồi sau đó bấm OK.

    Lưu ý:

    • Trong ô dữ liệu giá trị , bạn có thể nhập giá trị lớn hơn 1.000.000. Tuy nhiên, không nhập giá trị lớn hơn 2,147,483,647. Đây là 0x7FFFFFFF thập lục phân.

    • Chú ý: Nếu khoá này đã tồn tại, thông báo giá trị hiện tại. Sau khi bạn đã hoàn thành việc nhập hoặc nâng cấp cho Microsoft Dynamics CRM, đặt giá trị này trở lại giá trị ban đầu hoặc xoá khoá nếu nó đã không tồn tại. Giá trị OLEDBTimeout mặc định là 30 giây.

Phương pháp 2: Thay đổi các tham số trong tệp Web.config hai khác

  1. Bấm bắt đầu, bấm Tất cả chương trình, bấm Công cụ quản trị, và sau đó nhấp vào trình quản lý Dịch vụ thông tin Internet (IIS).

  2. Mở rộng tên máy chủ, và sau đó mở rộng các trang Web.

  3. Bấm chuột phải vào trang Web Microsoft CRM v3.0 hoặc Web site Microsoft CRM v4.0 , và sau đó nhấp vào mở.

  4. Bấm chuột phải vào tệp Web.config, nhấp Mởvà sau đó nhấp vào Notepad.

  5. Trong Notepad, định vị các dòng sau.

    <httpRuntime executionTimeout="300" maxRequestLength="8192"/>
  6. Thay đổi executionTimeout = "3600" và thay đổi maxRequestLength = "20000".

  7. Lưu và đóng tệp Web.config.

  8. Trong thư mục mà bạn đã mở tệp Web.config, mở thư mục MSCRMServices.

  9. Bấm chuột phải vào tệp Web.config, nhấp Mởvà sau đó nhấp vào Notepad.

  10. Trong Notepad, định vị các dòng sau.

    <httpRuntime maxRequestLength="8192"/>
  11. Thay đổi maxRequestLength = "20000".

  12. Lưu và đóng tệp Web.config.

    • Chú ý: sau khi hoàn tất hành động yêu cầu thay đổi các tệp web.config, các tham số này phải được đặt lại các giá trị mặc định.


Thông tin

Giá trị OLEDBTimeout

Đơn vị giá trị OLEDBTimeout là giây. Theo mặc định, giá trị OLEDBTimeout là 30 giây. Giá trị OLEDBTimeout điều khiển SQL hết giá trị được sử dụng cho một truy vấn SQL. Tăng giá trị OLEDBTimeout rất hữu ích khi SQL server quá tải. Ngoài ra, các truy vấn mất nhiều thời gian xử lý.

Giá trị ExtendedTimeout

Đơn vị giá trị ExtendedTimeout là mili giây. Theo mặc định, giá trị ExtendedTimeout là 1000000 mili giây. Giá trị ExtendedTimeout điều khiển ASP.NET hết giá trị được sử dụng cho yêu cầu nhập. Giá trị thời gian chờ phải lớn hơn thời gian để kết thúc quá trình nhập toàn bộ. Tăng giá trị ExtendedTimeout rất hữu ích khi quá trình nhập mất nhiều thời gian.

Lưu ý Khi hiệu suất của máy chủ SQL chậm hoặc khi có nhiều tùy chỉnh tệp để nhập, quá trình nhập mất nhiều thời gian.

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?

Cảm ơn phản hồi của bạn!

×