อาการ
หลังจากที่คุณใช้SQL Server 2016 Service Pack 3 (SP3)หรือSQL Server 2017 Cumulative Update 26 (CU26)และคุณจะเรียกใช้กระบวนงานที่จัดเก็บไว้ของการติดตามการเปลี่ยนแปลง, sp_flush_commit_table_on_demandหรือsp_flush_CT_internal_table_on_demandหรือถ้าการติดตามการเปลี่ยนแปลงการล้างข้อมูลอัตโนมัติถูกเรียกใช้ คุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
Error converting data type numeric to int.
นอกจากนี้ ข้อผิดพลาดต่อไปนี้อาจเข้าสู่ระบบในบันทึกSQL Serverข้อผิดพลาดต่อไปนี้:
DateTime spidNum Error: 22122, Severity: 16, State: 1.
DateTime spidNum Change Tracking autocleanup failed on side table of "table_name". If the failure persists, use sp_flush_CT_internal_table_on_demand to clean up expired records from its side table.
หลังจากที่คุณพบข้อผิดพลาดนี้ การเปลี่ยนแปลงการติดตามการล้างข้อมูลอัตโนมัติไม่สามารถล้างรายการจากตารางด้านข้างหรือตาราง syscommittab ได้
สาเหตุ
SQL Server 2016 SP3 และ SQL Server 2017 CU26 ได้เริ่มใช้ตารางใหม่ dbo MSchange_tracking_historyและกระบวนงานที่เก็บไว้ใหม่ sys.sp_add_ct_historyระเบียนประวัติของการล้างการติดตามการเปลี่ยนแปลง ตารางนี้มีคอลัมน์cleanup_versionที่ประกาศเป็นชนิดข้อมูล INT ในขณะนี้ The sys.sp_add_ct_history stored procedure has a parameter, @cleanup_version, that's also declared as INT. บนระบบที่ไม่ว่างที่ใช้การติดตามการเปลี่ยนแปลง เวอร์ชันการล้างข้อมูลสามารถข้ามช่วงของ INT ได้ในช่วงเวลาหนึ่ง จากนั้น เมื่อเรียกใช้การล้างข้อมูลการติดตามการเปลี่ยนแปลง จะพยายามแทรกค่า BIGINT ลงในคอลัมน์ INT ของตารางนี้ ซึ่งก่อให้เกิดข้อผิดพลาดที่อธิบายไว้ในส่วน "อาการ"
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตสะสมต่อไปนี้SQL Server:
การอัปเดตสะสมที่ 27 SQL Server 2017
แต่ละการอัปเดตสะสมใหม่SQL Serverมีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตสะสมก่อนหน้า ดูการอัปเดตสะสมล่าสุดSQL Server:
ข้อมูลการแก้ไขด่วนตามความต้องการ:
ปัญหานี้ได้รับการแก้ไขแล้วในการแก้ไขด่วนตามความต้องการต่อไปนี้SQL Server:
วิธีแก้ไขปัญหาชั่วคราว
ถ้าคุณพบปัญหานี้ ให้แปลงกลับไปเป็นรุ่นก่อนหน้าโดยการถอนการติดตั้ง SQL Server 2016 SP3 หรือ SQL Server 2017 CU26 Microsoft ตรวจสอบปัญหานี้อยู่ และจะอัปเดตบทความนี้ด้วยข้อมูลเพิ่มเติมและแนวทางเพิ่มเติมเมื่อข้อมูลดังกล่าวพร้อมใช้งาน
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
เรียนรู้เกี่ยวกับ ศัพท์เฉพาะที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์