KB2954861 - KHẮC PHỤC: "Thời gian chờ truy vấn đã hết hạn" khi bạn xem trước lệnh của gói SSIS trong SSDT

Áp dụng cho
SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Business Intelligence - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Triệu chứng

Hãy cân nhắc các trường hợp sau:

  • Bạn sử dụng Microsoft SQL Server 2012 hoặc SQL Server 2014 và Microsoft Công cụ Dữ liệu SQL Server (SSDT) để thiết kế Gói Dịch vụ Tích hợp SQL Server (SSIS).
  • Trong Tác vụ Dòng dữ liệu, bạn sử dụng cấu phần nguồn chẳng hạn như nguồn OLE DB, nguồn ADO.NET hoặc nguồn ODBC để đặt chế độ Truy nhập Dữ liệu thành Lệnh SQL và nhập truy vấn vào hộp lệnh.
  • Bạn bấm Xem trước để xem kết quả của truy vấn.

Trong trường hợp này, lệnh được xem trước sẽ chạy lâu hơn 30 giây và không thành công trong trình thiết kế. Ngoài ra, bạn sẽ nhận được lỗi tương tự như "Đã hết hạn Thời gian chờ Truy vấn".

Nguyên nhân

Sự cố này xảy ra vì ngưỡng CommandTimeout được mã hóa cố định là 30 giây đối với tính năng xem trước trong Trình thiết kế SSIS.

Giải pháp

Sự cố này được khắc phục lần đầu tiên trong bản cập nhật tích lũy tiếp theo của SQL Server.

Cập nhật Tích lũy 3 cho SQL Server 2014 /en-us/help/2984923

Bản cập nhật tích lũy 1 cho SQL Server 2012 SP2 /en-us/help/2976982

Cập nhật tích lũy 10 cho SQL Server 2012 SP1 /en-us/help/2954099

Giới thiệu về các bản cập nhật tích lũy cho SQL Server

Mỗi bản cập nhật tích lũy mới dành cho SQL Server chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp trong bản cập nhật tích lũy trước đó. Xem các bản cập nhật tích lũy mới nhất cho SQL Server:

      

        
Lưu ý:

  • Trước khi bạn áp dụng hotfix này, thiết đặt hết thời gian chờ được cố định là 30 giây ở dạng xem trước dữ liệu cho tất cả các cấu phần SSIS.

  • Sau khi bạn áp dụng hotfix này:

    • Đối với ADO.NET phần nguồn và cấu phần nguồn OLE DB, chúng đã có thuộc tính CommandTimeout. Thuộc tính này sẽ được sử dụng trong xem trước dữ liệu.

    • Đối với tất cả các cấu phần khác có tính năng xem trước dữ liệu nhưng không có thuộc tính CommandTimeout:

      • Nếu có giá trị DWORD: DataPreviewTimeout dưới khóa đăng ký hệ thống:\\HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSIS\Preferences SSIS sẽ sử dụng giá trị đó làm hết thời gian chờ trong quá trình xem trước.
      • Nếu không có giá trị DWORD DataPreviewTimeout, SSIS vẫn sử dụng 30 giây.

      

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".