Microsoft phân phối Microsoft SQL Server 2008 gói dịch vụ 1 (SP1) hoặc bản sửa lỗi Microsoft SQL Server 2008 R2 là một tệp được tải xuống. Vì bản sửa lỗi được tích lũy, mỗi bản phát hành mới chứa tất cả các hotfix và tất cả các bản Cập Nhật bảo mật được bao gồm trong bản phát hành SQL Server 2008 SP1 hoặc SQL Server 2008 R2 bản Cập Nhật.
Triệu chứng
Hãy xem xét tình huống sau:
-
Bạn cài đặt Microsoft SQL Server 2008 tích hợp dịch vụ (SSIS 2008) hoặc Microsoft SQL Server 2008 R2 tích hợp dịch vụ (SSIS 2008 R2) trên máy tính.
-
Bạn tạo một gói SSIS chứa hai mục cho các mục chứa vòng lặp .
-
Bạn tạo hai đối với các biến phạm vi container vòng lặp cho hai mục trong bộ chứa vòng lặp . Các biến có cùng tên.
-
Bạn sử dụng các biến trong các thuộc tính InitExpression, EvalExpressionvà AssignExpression cho hai mục cho các mục chứa vòng lặp .
-
Hai đối với các mục chứa vòng lặp có chứa nhiều mục nhiệm vụ thực thi SQL chạy song song.
-
Bạn bật thiết đặt điểm kiểm tra cho gói SSIS.
-
Bạn chạy gói SSIS.
-
Một trong các mục nhiệm vụ thực thi SQL không thành công hoặc dừng trong khi gói SSIS chạy.
-
Gói SSIS chạy lại.
Trong trường hợp này, giá trị biến cho một trong các mục nhiệm vụ thực thi SQL vốn không bị lỗi hoặc dừng không chính xác.Lưu ý Mục nhiệm vụ thực thi SQL này nằm trong mục đối với mục container Loop không thành công hoặc dừng. Ví dụ, hãy cân nhắc các kịch bản cụ thể sau đây:
-
Bạn tạo một gói SSIS có hai mục cho các mục chứa vòng lặp . Các mục được đặt tên là FLC01 và FLC02.
-
Bạn tạo biến Batchno cho FLC01 và biến BATCHNO cho FLC02.
-
Bạn đã đặt thuộc tính InitExpression vào @ [người dùng:: batchno] = 0.
-
Bạn đã đặt thuộc tính EvalExpression vào @ [người dùng:: batchno] < 10.
-
Bạn đã đặt thuộc tính AssignExpression vào @ [người dùng:: batchno] = @ [user:: batchno] + 1.
-
Hai đối với các mục chứa vòng lặp có chứa nhiều mục nhiệm vụ thực thi SQL sử dụng một kế hoạch thực hiện song song.
-
Bạn bật thiết đặt điểm kiểm tra cho gói SSIS.
-
Bạn chạy gói SSIS.
-
Một mục thực hiện nhiệm vụ SQL trong FLC01 không thành công hoặc điểm dừng.
-
Gói SSIS chạy lại.
Trong trường hợp này, giá trị Batchno cho một trong các mục nhiệm vụ thực thi SQL trong FLC02 là không chính xác.Lưu ý Vấn đề này cũng xảy ra trong Microsoft SQL Server 2008 R2 tích hợp dịch vụ (SSIS 2008 R2).
Nguyên nhân
Sự cố này xảy ra do một khiếm khuyết trong lô-gic khôi phục của biến số của điểm kiểm tra. Các biến số điểm kiểm tra được khôi phục về các tác vụ không đúng. Do đó, một giá trị biến không chính xác được khôi phục.
Giải pháp
Thông tin Cập Nhật tích lũy
SQL Server 2008 R2
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật Cumulative Update 11. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2008 R2, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
2633145 Gói Cập Nhật tích lũy 11 cho SQL Server 2008 R2 Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó. Chúng tôi khuyên bạn nên cân nhắc việ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:
981356 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 được phát hành
Gói dịch vụ SQL Server 2008 R2 1
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Cumulative Update 4 cho SQL Server 2008 R2 Service Pack 1. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy này, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2633146 Gói Cập Nhật tích lũy 4 cho SQL Server 2008 R2 gói dịch vụ 1Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó. Chúng tôi khuyên bạn nên cân nhắc việ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:
2567616 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 Service Pack 1 đã được phát hành
Gói dịch vụ SQL Server 2008 2
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Cumulative Update 7 cho SQL Server 2008 Service Pack 2. Để biết thêm thông tin về gói Cập Nhật lũy tích này, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2617148 Gói Cập Nhật tích lũy 7 cho SQL Server 2008 gói dịch vụ 2Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó. Microsoft khuyên bạn nên cân nhắc việc áp dụng bản phát hành khắc phục gần đây nhất có chứa các 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:
2402659 Bản dựng SQL Server 2008 đã được phát hành sau khi SQL Server 2008 Service Pack 2 đã được phát hành Các hotfix Microsoft SQL Server 2008 được tạo cho các gói dịch vụ SQL Server cụ thể. Bạn phải áp dụng SQL Server 2008 gói dịch vụ 2 để cài đặt gói dịch vụ SQL Server 2008 2. Theo mặc định, mọi hotfix được cung cấp trong gói dịch vụ SQL Server sẽ được đưa vào gói dịch vụ SQL Server tiếp theo.
Gói Cập Nhật tích lũy 16 cho SQL Server 2008 SP1
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong phần gói Cumulative Update 16 cho SQL Server 2008 SP1. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2008 SP1, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
2582282 Gói Cập Nhật tích lũy 16 cho SQL Server 2008 gói dịch vụ 1Lưu ý Vì bản dựng được tích lũy, mỗi bản cập nhật mới có chứa tất cả các hotfix và tất cả các bản Cập Nhật bảo mật đã được đưa vào bản phát hành SQL Server 2008 SP1 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản cập nhật 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:
970365 Bản dựng SQL Server 2008 đã được phát hành sau khi SQL Server 2008 Service Pack 1 đã được phát hành
Cách giải quyết
Để giải quyết vấn đề này, hãy dùng tên biến số khác cho mỗi mục cho mục chứa vòng lặp .
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".