อาการ
สมมติว่า คุณเปิดใช้งานคุณลักษณะการเปลี่ยนแปลงข้อมูล Capture (CDC) บนตารางเพื่อเรียกใช้การสแกนแฟ้มบันทึกใน microsoft SQL Server พารามิเตอร์ pollinginterval จะถูกแปลงจากวินาที (s) เป็นชั่วโมง (h) ใน sys.sp_cdc_scan กระบวนงานที่เก็บไว้ อย่างไรก็ตาม เมื่อพารามิเตอร์ pollinginterval มากกว่าหนึ่งชั่วโมง (>3600 s) คุณสังเกตเห็นว่าผลลัพธ์ที่แปลงแล้วไม่ถูกต้อง
หมายเหตุ
declare @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
set @pollinginterval = 3600
เลือก @seconds = @pollinginterval % 60
เลือก @minutes = ((@pollinginterval - @seconds) / 60) % 60
เลือก @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- ความพยายามถัดไป ด้านล่างบรรทัดแทน
---เลือก @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
เลือก @hours, @minutes@seconds
การแก้ปัญหา
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตแบบสะสมต่อไปนี้สําหรับ SQL Server:
การอัปเดตสะสม 12 สําหรับ SQL Server 2017
การอัปเดตสะสม 3 สําหรับ SQL Server 2016 SP2
การอัปเดตสะสม 12 สําหรับ SQL Server 2016 SP1
การอัปเดตสะสม 1 สําหรับ SQL Server 2014 SP3
การอัปเดตสะสม 14 สําหรับ SQL Server 2014 SP2
เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server:
แต่ละปรับปรุงสะสมใหม่สําหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการปรับปรุงสะสมก่อนหน้านี้ ดูการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:
การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2017
การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2016
การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2014
สถานะ
Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"
การอ้างอิง
เรียนรู้เกี่ยวกับคำศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์