ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

อาการ

พิจารณาสถานการณ์ต่อไปนี้:

  • คุณใช้ฐานข้อมูลที่ตั้งค่าระดับความเข้ากันได้เป็น 130 ใน Microsoft SQL Server 2016

  • คุณดําเนินการคิวรีที่เข้าถึงดัชนีที่เก็บคอลัมน์และดัชนีที่เก็บแถวหรือฮีป และมีเพรดิเคตตัวกรอง (ส่วนคําสั่ง WHERE)

ในสถานการณ์สมมตินี้ SQL Server จะไม่สามารถผลักเพรดิเคตตัวกรองใกล้กับตัวดําเนินการแหล่งข้อมูล (การสแกนตารางหรือดัชนีหรือการค้นหา) ซึ่งอาจทําให้เกิดประสิทธิภาพคิวรีย่อย


นอกจากนี้ ถ้าคิวรีใช้นิพจน์ (เช่น การแปลงชนิด) ที่ความถูกต้องจะขึ้นอยู่กับข้อมูลที่ถูกกรอง (ตัวอย่างเช่น คอลัมน์ตาราง Char จะถูกแปลงเป็น int แต่เฉพาะชุดย่อยของค่าเท่านั้นที่มีการแทนค่าที่ใช้ได้ และเซตย่อยนี้จะถูกระบุโดยเพรดิเคตตัวกรอง) จากนั้นคิวรีอาจล้มเหลวโดยมีข้อผิดพลาดในการแปลงข้อมูลที่มีลักษณะอย่างใดอย่างหนึ่งต่อไปนี้

Msg 245, ระดับ 16, สถานะ 1, การแปลงบรรทัด 20
ล้มเหลวเมื่อแปลงค่า varchar '0.5' เป็น int ชนิดข้อมูล

Msg 8114, ระดับ 16, สถานะ 5, ข้อผิดพลาดใน
การแปลงชนิดข้อมูล varchar เป็น bigint

การแก้ไข

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

การอัปเดตสะสม 2 สําหรับ SQL Server 2016 SP1       

หมาย เหตุคุณต้องเปิดใช้งานการแก้ไขด่วนของตัวปรับคิวรีให้เหมาะสมเพื่อให้การแก้ไขนี้มีผล

คุณสามารถเปิดใช้งานโปรแกรมแก้ไขด่วนตัวปรับคิวรีให้เหมาะสมโดยใช้หนึ่งในตัวเลือกต่อไปนี้: ติดตามค่าสถานะ 4199, การตั้งค่าการกําหนดค่าขอบเขตฐานข้อมูล QUERY_OPTIMIZER_HOTFIXES=ON (พร้อมใช้งานใน SQL Server 2016 และใหม่กว่า) หรือตัวเลือกคิวรี USE_HINT 'ENABLE_QUERY_OPTIMIZER_HOTFIXES' (พร้อมใช้งานใน SQL Server 2016 SP1 และใหม่กว่า)

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

การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2016

สถานะ

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

อ้างอิง

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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ
เมื่อกดส่ง คำติชมของคุณจะถูกใช้เพื่อปรับปรุงผลิตภัณฑ์และบริการของ Microsoft ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×