อาการ
ข้อผิดพลาดในการตรวจสอบเงื่อนไขอาจเกิดขึ้นเมื่อ Microsoft SQL Server ซ้ำๆดำเนินการกระบวนงานที่เก็บไว้ที่ดำเนินการดังต่อไปนี้:
-
ใช้วัตถุขนาดใหญ่เช่น varchar (max) หรือ varbinary (max)เป็นอาร์กิวเมนต์และ
-
สร้างตารางชั่วคราวที่ลักษณะการดำเนินการของกระบวนงานและ
-
ใช้อาร์กิวเมนต์วัตถุขนาดใหญ่ในตารางชั่วคราว
คุณอาจพบข้อผิดพลาดในการตรวจสอบเงื่อนไขที่คล้ายกับต่อไปนี้ในบันทึกข้อผิดพลาด SQL Server:
ข้อผิดพลาดSPID Date/Time: ความรุนแรง๑๗๐๖๕:16 สถานะ: 1
วันที่/เวลา SPID SQL Server ยืนยันการใช้งาน: ไฟล์: พาธ \ชื่อไฟล์, บรรทัด = LineNumber ตรวจสอบความถูกต้องล้มเหลว = ' fFalse ' พยายามเข้าถึงจุดจับ blob ที่หมดอายุ (1) ข้อผิดพลาดนี้อาจเป็นเวลาที่เกี่ยวข้องกับการกำหนดเวลา ถ้าข้อผิดพลาดยังคงมีอยู่หลังจาก rerunning คำสั่งให้ใช้ DBCC CHECKDB เพื่อตรวจสอบความถูกต้องของฐานข้อมูลหรือรีสตาร์ทเซิร์ฟเวอร์เพื่อให้แน่ใจว่าโครงสร้างข้อมูลภายในหน่วยความจำไม่เสียหาย
ข้อผิดพลาดSPID Date/Time : ๓๖๒๔ความรุนแรง:20 สถานะ: 1
วันที่/เวลา SPIDการตรวจสอบการยืนยันความถูกต้องของระบบล้มเหลว ตรวจสอบบันทึกข้อผิดพลาด SQL Server สำหรับรายละเอียด โดยทั่วไปแล้วความล้มเหลวในการยืนยันจะเกิดจากข้อบกพร่องของซอฟต์แวร์หรือข้อมูลเสียหาย เมื่อต้องการตรวจสอบความเสียหายของฐานข้อมูลให้พิจารณาใช้ DBCC CHECKDB ถ้าคุณตกลงที่จะส่งการถ่ายโอนข้อมูลไปยัง Microsoft ระหว่างการตั้งค่าการถ่ายโอนข้อมูลขนาดเล็กจะถูกส่งไปยัง Microsoft การอัปเดตอาจพร้อมใช้งานจาก Microsoft ใน Service Pack ล่าสุดหรือในโปรแกรมแก้ไขด่วนจากฝ่ายสนับสนุนทางเทคนิค
สาเหตุ
SQL Server มีตรรกะภายในเพื่อปิดใช้งานการแคชของคิวรีที่อ้างอิงวัตถุขนาดใหญ่เพื่อให้ executions ที่ตามมาจะไม่อ้างอิง LOBs เหล่านั้น (ซึ่งถูกสร้างขึ้นในระหว่างการเรียกใช้ก่อนและดังนั้นจึงไม่ถูกต้องสำหรับการเรียกใช้ในภายหลัง) ตรรกะที่ไม่มีการจัดการกับกรณีของการ จำแนกชื่อแบบเลื่อนระดับ (DNR) ในตารางชั่วคราวที่ทำให้แผนเหล่านั้นถูกแคชไว้ ตารางชั่วคราวของลักษณะจะมีราคาแพงกว่าในการสร้างและ SQL Server จะเก็บไฟล์เหล่านั้นเพื่อนำมาใช้ใหม่ใน executions ต่อมา ซึ่งจะเป็นการป้องกันไม่ให้ recompilation ของคิวรีดังกล่าวเนื่องจากการเปลี่ยนแปลง schema
เรียนรู้เพิ่มเติมเกี่ยวกับ ความละเอียดของชื่อที่เลื่อนออกไป
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมต่อไปนี้สำหรับ SQL Server:
การอัปเดตที่สะสม8สำหรับ SQL Server ๒๐๑๖ SP1
การอัปเดตที่สะสม4สำหรับ SQL Server ๒๐๑๗
การอัปเดตที่สะสม 10สำหรับ SQL Server ๒๐๑๔ service Pack 2
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนและการแก้ไขปัญหาด้านความปลอดภัยทั้งหมดที่อยู่ในรุ่นก่อนหน้า ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
การอัปเดตที่สะสมล่าสุดสำหรับ SQL Server ๒๐๑๖
การอัปเดตที่สะสมล่าสุดสำหรับ SQL Server ๒๐๑๗
การอัปเดตที่สะสมล่าสุดสำหรับ SQL Server ๒๐๑๔
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
เรียนรู้เกี่ยวกับคำ ศัพท์เฉพาะ ทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์