Microsoft phân phối Microsoft SQL Server 2008 gói dịch vụ 1 (SP1) và bản sửa lỗi Microsoft SQL Server 2008 R2 là một tệp được 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 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 SQL Server 2008 SP1 và bản sửa lỗi SOL Server 2008 R2.
Triệu chứng
Hãy xem xét tình huống sau:
-
Bạn cho phép theo dõi thay đổi trên bảng trong SQL Server 2008 hoặc trong SQL Server 2008 R2.
-
Bạn chạy một truy vấn sử dụng hàm Changetable cùng với đối số last_sync_version để trả về thông tin theo dõi cho những thay đổi đã xảy ra trong bảng.
-
Một giá trị bigint được truyền làm đối số last_sync_version .
Ví dụ, bạn chạy truy vấn sau đây sau khi bạn bật tính năng theo dõi thay đổi trên bảng:
SELECT * FROM CHANGETABLE(changes dbo.t1, 2222222222) as ct
Trong trường hợp này, việc thực hiện truy vấn không thành công và bạn nhận được thông tin sau:
Msg 1080, mức 15, bang 1, đường 1Giá trị số nguyên của giá trị bigint nằm ngoài phạm vi.
Lưu ý́
-
Loại đối số last_sync_version được định nghĩa là bigint. Do đó, truy vấn dự kiến sẽ chạy thành công.
-
giá trị bigint là chỗ dành sẵn đại diện cho giá trị bigint được truyền làm đối số last_sync_version .
Giải pháp
Thông tin Cập Nhật tích lũy
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 1 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:
2544793 Gói Cập Nhật tích lũy 1 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 4 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:
2527180 Gói Cập Nhật tích lũy 4 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.
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 tích lũy 7. Để 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:
2507770 Gói Cập Nhật tích lũy 7 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ànhBả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 tích lũy 13. Để 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:
2497673 Gói Cập Nhật tích lũy 13 cho SQL Server 2008 gói dịch vụ 1 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 sự 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:
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
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".
Cách giải quyết
Để giải quyết vấn đề này, hãy tạo một biến số kiểu bigint, rồi chuyển các biến thành đối số Last_sync_version của hàm changetable . Ví dụ, bạn có thể chạy thành công các truy vấn sau đây:
DECLARE @v3 bigint = 2222222222SELECT * FROM CHANGETABLE(changes dbo.t1, @v3 ) as ct
Thông tin Bổ sung
Để biết thêm thông tin về hàm Changetable cho Transact-SQL, hãy truy nhập Website Microsoft Development Network (MSDN) sau đây: