KB4490138 - การแก้ไข: NCI ที่กรองแล้วผ่าน CCI อาจไม่ได้รับการเก็บรักษาเมื่อตารางได้รับการอัปเดตในลักษณะที่คีย์หรือคอลัมน์ที่รวมของ NCI มีการเปลี่ยนแปลงใน SQL Server 2016 และ 2017

นำไปใช้กับ
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 on Linux

อาการ

สมมติว่า คุณมีตารางที่มีดัชนีที่ไม่ได้กรอง (NCI) บน clustered columnstore index (CCI) ใน SQL Server 2016 และ 2017 เมื่อคุณอัปเดตตารางด้วยวิธีที่ไม่มีคีย์หรือคอลัมน์ของ NCI ถูกอัปเดต คุณอาจสังเกตเห็นว่า NCI ที่กรองแล้วไม่ได้รับการรักษาไว้ โดยเฉพาะอย่างยิ่ง การอัปเดตจะทําให้แถวใน CCI ย้าย และค่าตัวระบุตําแหน่งของแถวที่สอดคล้องกันใน NCI ที่กรองอาจไม่ถูกอัปเดต ปัญหานี้อาจทําให้เกิดความเสียหายระหว่างแถวแบบถาวรและผลลัพธ์ที่ไม่ถูกต้องสําหรับคิวรี SELECT

สถานะ

Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"

การแก้ปัญหา

ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตสะสมสําหรับ SQL Server ต่อไปนี้:

เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server:

แต่ละปรับปรุงสะสมใหม่สําหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการปรับปรุงสะสมก่อนหน้านี้ ดูการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:

การอ้างอิง

เรียนรู้เกี่ยวกับคำศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์