Triệu chứng
Giả sử bạn bật tính năng Thay đổi Chụp Dữ liệu (CDC) trên bảng để chạy quét nhật ký trong Microsoft SQL Server. Tham số pollinginterval được chuyển đổi từ giây (s) sang giờ (h) trong thủ sys.sp_cdc_scan lưu trữ. 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
--- thử tiếp theo bên dưới dòng để thay thế
--- 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 SQL Server:
Bản cập nhật Tích lũy 12 dành 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
Mỗi bản cập nhật tích lũy mới dành cho SQL Server sẽ chứa tất cả các bản cập nhật nóng và tất cả các bản sửa lỗi bảo mật được bao gồm 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 dành cho doanh 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.