Triệu chứng
Giả định rằng bạn bật tính năng bắt đầu thay đổi dữ liệu (CDC) trên một bảng để chạy quét Nhật ký trong Microsoft SQL Server. Tham số pollinginterval được chuyển đổi từ (các) giây thành giờ (h) trong quy trình được lưu trữ sys.sp_cdc_scan . Tuy nhiên, khi tham số pollinginterval lớn hơn một giờ (>3600 s), bạn nhận thấy rằng kết quả được chuyển đổi không chính xác.
khai báo @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint Đặt @pollinginterval = 3600 chọn @seconds = @pollinginterval %60 chọn @minutes = ((@pollinginterval-@seconds)/60) %60 chọn @hours = (@pollinginterval-(@minutes * 60)-@seconds)/60 ---Cố gắng tiếp theo dòng bên dưới thay vào đó ---chọn @hours = (@pollinginterval-(@minutes * 60)-@seconds)/60/60 chọn @hours, @minutes @seconds
Giải pháp
Sự cố này đã được khắc phục trong các bản Cập Nhật tích lũy sau đây cho SQL Server:
Bản Cập Nhật tích lũy 12 cho SQL Server 2017
Bản Cập Nhật tích lũy 3 cho SQL Server 2016 SP2
Bản Cập Nhật tích lũy 12 cho SQL Server 2016 SP1
Giới thiệu về 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 cho SQL Server 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 Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Bản Cập Nhật tích lũy mới nhất cho SQL Server 2017
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".
Tham khảo
Tìm hiểu về thuật ngữmà Microsoft sử dụng để mô tả các bản cập nhật phần mềm.