อาการ
สมมติว่าคุณมีคิวรีที่ดำเนินการบางอย่างของสตริงการดำเนินการตัวอย่างเช่นการเรียงต่อกันบนคอลัมน์อักขระหรือ VARCHAR ใน Microsoft SQL Server ๒๐๑๔, ๒๐๑๖และ๒๐๑๗ พิจารณาสถานการณ์ต่อไปนี้:
-
คุณเชื่อมโยงคอลัมน์ที่มีการจัดเรียงที่แตกต่างกันที่กำหนดให้กับพวกเขา
-
การเปรียบเทียบเหล่านั้นจะเข้ากันไม่ได้กับอีกคนหนึ่ง ตัวอย่างเช่นคุณพยายามที่จะเชื่อมโยงคอลัมน์ที่รวบ Latin1_General_CI_AI กับ Latin1_General_BIN
-
ผลลัพธ์สุดท้ายของการเรียงต่อกันจะถูกกำหนดให้กับการเปรียบเทียบที่เฉพาะเจาะจง (รวมถึง "database_default") เป็นเรื่องของการแก้ปัญหาข้อขัดแย้งของการเปรียบเทียบ
ในสถานการณ์สมมตินี้ SQL Server อาจส่งกลับ assert retail ที่ระบุว่า "การเปรียบเทียบที่ไม่ถูกต้องเนื่องจากไม่มีการเปรียบเทียบ" และคุณอาจได้รับข้อความแสดงข้อผิดพลาดบางอย่างที่มีลักษณะดังต่อไปนี้:
ตำแหน่งที่ตั้ง: typinfo:LineNumber นิพจน์: false SPID: SPID รหัสกระบวนการ: ProcessID คำอธิบาย: การเปรียบเทียบที่ไม่ถูกต้องเนื่องจากไม่มีการเปรียบเทียบ
Msg ๓๖๒๔ระดับ20สถานะ1บรรทัด LineNumber การตรวจสอบการยืนยันความถูกต้องของระบบล้มเหลว ตรวจสอบบันทึกข้อผิดพลาด SQL Server สำหรับรายละเอียด โดยทั่วไปแล้วความล้มเหลวในการยืนยันจะเกิดจากข้อบกพร่องของซอฟต์แวร์หรือข้อมูลเสียหาย เมื่อต้องการตรวจสอบความเสียหายของฐานข้อมูลให้พิจารณาใช้ DBCC CHECKDB ถ้าคุณตกลงที่จะส่งการถ่ายโอนข้อมูลไปยัง Microsoft ระหว่างการตั้งค่าการถ่ายโอนข้อมูลขนาดเล็กจะถูกส่งไปยัง Microsoft การอัปเดตอาจพร้อมใช้งานจาก Microsoft ใน Service Pack ล่าสุดหรือในโปรแกรมแก้ไขด่วนจากฝ่ายสนับสนุนทางเทคนิค
Msg ๕๙๖ระดับ21สถานะ1บรรทัด LineNumber ไม่สามารถดำเนินการต่อได้เนื่องจากเซสชันอยู่ในสถานะการทำลาย
Msg 0 ระดับ20รัฐ 0, LineNumber Line
เกิดข้อผิดพลาดร้ายแรงบนคำสั่งปัจจุบัน ผลลัพธ์ถ้ามีควรละทิ้ง
สาเหตุ
ในระหว่างขั้นตอนการเพิ่มประสิทธิภาพของคิวรี SQL Server พยายามคำนวณ cardinalities ในผลลัพธ์กลางของขั้นตอนต่างๆของแบบสอบถามตัวอย่างเช่นการเรียงต่อกัน เนื่องจากการเปรียบเทียบความขัดแย้งจะเกิดขึ้นที่จุดสิ้นสุดตัวเพิ่มประสิทธิภาพของคิวรีอาจไม่สามารถใช้งานได้และพยายามดำเนินการคำนวณการเรียงต่อกันของจำนวนที่เรียงต่อกันบนข้อมูลที่มีการเปรียบเทียบ conflicted
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมต่อไปนี้สำหรับ SQL Server:
การอัปเดตที่สะสม8สำหรับ SQL Server ๒๐๑๖ SP1
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
การอัปเดตที่สะสมล่าสุดสำหรับ SQL Server ๒๐๑๖
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
เรียนรู้เกี่ยวกับคำ ศัพท์เฉพาะทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์