KB2735763 - KHẮC PHỤC: Việc thực thi gói kết thúc bất ngờ và trạng thái là "Bị hủy bỏ" khi bạn thực thi nhiều gói SSIS 2012 song song

Áp dụng cho
SQL Server 2012 Enterprise

Microsoft phân phối các bản sửa lỗi Microsoft SQL Server 2012 dưới dạng một tệp có thể tải xuống. Vì các bản sửa lỗi được tích lũy, mỗi bản phát hành mới đều chứa tất cả các hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành sửa lỗi SQL Server 2012 trước đó.

Triệu chứng

Giả sử bạn sử dụng Tác nhân SQL Server để chạy song song nhiều gói Dịch vụ Tích hợp SQL Server 2012 (SSIS 2012). Ngoài ra, sự kiện SSIS được cấu hình để được ghi nhật ký vào bảng SSISDB hoặc MSDB. Trong tình huống này, việc thực thi gói SSIS kết thúc bất ngờ và có trạng thái "Đã hủy bỏ". Khi điều này xảy ra, không có thông báo lỗi nào được ghi nhật ký. Ví dụ, một quá trình thực hiện gói SSIS kéo dài từ 2 đến 3 giờ sẽ kết thúc bất ngờ, có trạng thái "Bị hủy bỏ" và không có thông báo lỗi nào được ghi lại.

Lưu ý

  • Kết quả dự kiến là việc thực hiện gói sẽ thành công hoặc thất bại với một số lỗi. Ngoài ra, trạng thái "Bị hủy bỏ" sẽ chỉ xuất hiện khi thực hiện gói đã được dừng rõ ràng.
  • Vấn đề này có nhiều khả năng xảy ra hơn khi phiên bản Công cụ Cơ sở dữ liệu SQL Server trong đó các sự kiện SSIS được ghi nhật ký đang ở trong các điều kiện căng thẳng. Các điều kiện căng thẳng này có thể bao gồm bị chặn, hiệu năng chậm hoặc chậm trễ do sự phát triển cơ sở dữ liệu SSISDB gây ra.

Nguyên nhân

Sự cố xảy ra vì quá trình ghi nhật ký sự kiện hết thời gian chờ. Điều này làm cho việc thực hiện gói SSIS bị hủy bỏ sớm.

Khi một sự kiện SSIS được cấu hình để được ghi nhật ký trong bảng SSISDB hoặc MSDB, lệnh Insert sẽ ghi sự kiện nhật ký và thống kê hiệu suất vào những bảng đó nội bộ. Khi có nhiều lần thực hiện song song các gói SSIS, nhiều lệnh Chèn song song được thực thi. Do đó, lỗi hết thời gian chờ có nhiều khả năng xảy ra và gây ra sự cố được mô tả trong phần "Triệu chứng".

Giải pháp

Sau khi bạn áp dụng bản sửa lỗi, thời gian chờ cho lệnh Chèn sẽ tăng từ 30 giây lên 120 giây. Ngoài ra, nếu hết thời gian chờ xảy ra sau một khoảng thời gian trễ 120 giây, việc thực hiện gói SSIS sẽ không bị hủy bỏ. Thay vào đó, các sự kiện nhật ký tồn đọng sẽ được bỏ qua để tránh sự cố của gói.

Thông tin cập nhật tích lũy

Gói cập nhật tích lũy 3 cho SQL Server 2012

Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Cập nhật Tích lũy 3. Để biết thêm thông tin về cách lấy gói cập nhật tích lũy này cho SQL Server 2012, 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:

2723749 Cập nhật tích lũy 3 cho SQL Server 2012Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật được tích hợp trong bản phát hành sửa lỗi SQL Server 2012 trước đó. Chúng tôi khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

2692828 Các bản dựng SQL Server 2012 được phát hành sau SQL Server 2012 được phát hành

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".

Giải pháp thay thế

Để giải quyết sự cố này, hãy sử dụng một trong các phương pháp sau:

  • Cố gắng chạy song song ít gói SSIS hơn hoặc ít tác vụ hơn.
  • Hãy cố gắng giảm tham số Mức Ghi nhật ký khi bạn thực thi gói từ Management Studio hoặc từ công việc Tác nhân SQL Server. Ví dụ: nếu bạn đang sử dụng ghi nhật ký đầy đủ, bạn có thể đặt tham số Mức Ghi nhật ký thành Cơ bản hoặc Không có. Nếu bạn đang dùng thiết đặt Ghi nhật ký từ thiết đặt gói SSIS trong trình thiết kế Công cụ Dữ liệu SQL Server, bạn có thể ghi nhật ký các sự kiện vào một tệp văn bản thay vì vào bảng cơ sở dữ liệu SSISDB hoặc MSDB.