อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณใช้ฐานข้อมูลเรอร์ในโหมดประสิทธิภาพสูงแบบอะซิงโครนัสใน Microsoft SQL Server ๒๐๑๒ R2
-
คุณเปิดใช้งานการติดตามการเปลี่ยนแปลงบนฐานข้อมูลหลัก
-
คุณสร้าง snapshot ของฐานข้อมูลบนฐานข้อมูลมิเรอร์
-
คุณใช้ฟังก์ชัน CHANGE_TRACKING_CURRENT_VERSION ()บน snapshot ของฐานข้อมูลเพื่อตรวจสอบเวอร์ชันที่เชื่อมโยงกับธุรกรรมที่ถูกผูกมัดล่าสุด
ในสถานการณ์สมมตินี้ค่าส่งกลับของฟังก์ชันCHANGE_TRACKING_CURRENT_VERSION () ไม่ถูกต้อง มันเป็น 0 หรือต่ำกว่าค่าที่ส่งกลับจากฐานข้อมูลหลัก
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากข้อบกพร่องที่เกี่ยวข้องกับการประมวลผลฟังก์ชันบน snapshot ของฐานข้อมูล CHANGE_TRACKING_CURRENT_VERSION () ฟังก์ชันจะส่งกลับค่าที่ไม่ถูกต้องบน snapshot ของฐานข้อมูล
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมของ SQL Server ครั้งแรก หลังจากที่คุณนำโปรแกรมแก้ไขด่วนไปใช้แล้ว SQL Server จะเปลี่ยนแปลงตรรกะของฟังก์ชันCHANGE_TRACKING_CURRENT_VERSION () ค่าที่ส่งกลับของฟังก์ชัน CHANGE_TRACKING_CURRENT_VERSION ()บน snapshot ของฐานข้อมูลจะถูกต้อง
การอัปเดตที่สะสม11สำหรับ SQL Server ๒๐๐๘ R2 SP2 /en-us/help/2926028
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"