อาการ
สมมติว่า คุณมีคิวรีที่ทําการดําเนินการบางอย่างของสตริง ตัวอย่างเช่น การเรียงต่อกัน บนคอลัมน์ CHAR หรือ VARCHAR ใน Microsoft SQL Server 2014, 2016 และ 2017 ลองทำตามสถานการณ์ต่อไปนี้:
- คุณเชื่อมคอลัมน์กับการเรียงที่ต่างกันที่กําหนดให้กับคอลัมน์เหล่านั้น
- การเรียงเหล่านั้นไม่สามารถเข้ากันได้ ตัวอย่างเช่น คุณพยายามเรียงคอลัมน์ที่ถูกเรียงต่อกันเป็น Latin1_General_CI_AI กับ Latin1_General_BIN
- ผลลัพธ์สุดท้ายของการเรียงต่อกันจะถูกกําหนดให้กับการเรียงที่เฉพาะเจาะจง (รวมถึง "database_default") เนื่องจากการแก้ปัญหาความขัดแย้งของการเรียง
ในสถานการณ์สมมตินี้ SQL Server อาจส่งกลับข้อความแจ้งการขายปลีกที่ระบุว่า "การเปรียบเทียบไม่ถูกต้องเนื่องจากไม่มี COLLATION" และคุณอาจได้รับข้อความแสดงข้อผิดพลาดบางอย่างที่คล้ายกับต่อไปนี้:
หมายเหตุ
ตําแหน่ง: typinfo.cpp:LineNumber
นิพจน์: เท็จ
SPID: SPID
รหัสกระบวนการ: รหัสกระบวนการ
คําอธิบาย: การเปรียบเทียบไม่ถูกต้องเนื่องจากไม่มีการเรียงMsg 3624, ระดับ 20, สถานะ 1, LineNumber
การตรวจสอบการยืนยันระบบล้มเหลว ตรวจสอบบันทึกข้อผิดพลาด SQL Server เพื่อดูรายละเอียด โดยทั่วไปความล้มเหลวของการยืนยันเกิดจากบักของซอฟต์แวร์หรือความเสียหายของข้อมูล เมื่อต้องการตรวจสอบความเสียหายของฐานข้อมูล ให้พิจารณาเรียกใช้ DBCC CHECKDB หากคุณยินยอมที่จะส่งบันทึกข้อมูลไปยัง Microsoft ระหว่างการติดตั้ง ระบบจะส่งบันทึกข้อมูลขนาดเล็กไปยัง Microsoft การอัปเดตอาจพร้อมให้บริการจาก Microsoft ใน Service Pack รุ่นล่าสุดหรือการแก้ไขด่วนจากฝ่ายสนับสนุนทางเทคนิคMsg 596, ระดับ 21, รัฐ 1, LineNumber
ไม่สามารถดําเนินการต่อไปได้ เนื่องจากเซสชันอยู่ในสถานะหยุดทํางานMsg 0, ระดับ 20, สถานะ 0, LineNumber
มีข้อผิดพลาดร้ายแรงเกิดขึ้นในคําสั่งปัจจุบัน ผลลัพธ์ควรถูกละทิ้ง (ถ้ามี)
สาเหตุ
ในระหว่างขั้นตอนการปรับคิวรีให้เหมาะสม SQL Server จะพยายามคํานวณคาร์ดินาล ities บนผลลัพธ์ระดับกลางของขั้นตอนต่างๆ ของคิวรี เช่น การเรียงต่อกัน เนื่องจากการแก้ปัญหาข้อขัดแย้งการเรียงเกิดขึ้นที่ส่วนท้ายสุด ตัวปรับคิวรีให้เหมาะสมอาจไม่ทราบและพยายามคํานวณคาร์ดินาลลิตี้แบบเรียงต่อกันบนข้อมูลที่ป้อนเข้าด้วยการเรียงที่ขัดแย้งกัน
การแก้ปัญหา
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตสะสมสําหรับ SQL Server ต่อไปนี้:
การอัปเดตสะสม 8 สําหรับ SQL Server 2016 SP1
การอัปเดตสะสม 4 สําหรับ SQL Server 2017
การอัปเดตสะสม 9 สําหรับ SQL Server 2014 SP2
เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server:
แต่ละปรับปรุงสะสมใหม่สําหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการปรับปรุงสะสมก่อนหน้านี้ ดูการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:
การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2016
การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2017
การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2014
สถานะ
Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"
การอ้างอิง
เรียนรู้เกี่ยวกับคำศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์