อาการ
คุณเปลี่ยนชนิดข้อมูลของคอลัมน์ในตารางฐานข้อมูลจาก ntext เป็น nvarchar (max) บนเซิร์ฟเวอร์ที่ใช้ Microsoft SQL server ๒๐๑๒, ๒๐๑๔หรือ๒๐๑๖ เมื่อคุณอัปเดตตารางโดยการเพิ่มมากกว่า๔,๐๐๐ระเบียน DBCC CHECKDB อาจรายงานข้อผิดพลาดที่คล้ายกับต่อไปนี้:
Msg ๘๙๖๑ระดับ16สถานะ 1, LineNumber ข้อผิดพลาดตาราง: ObjectID, indexID, partitionID, allocUnitID (ชนิดข้อมูล LOB) โหนด data off-row ที่หน้า (PageID), slot 0, textID ไม่ตรงกับการอ้างอิงจากหน้า (PageID), slot 0 Msg ๘๙๖๑ระดับ16สถานะ 1, LineNumber ข้อผิดพลาดตาราง: ObjectID, indexID, partitionID, allocUnitID (ชนิดข้อมูล LOB) โหนด data off-row ที่หน้า (PageID), slot 0, textID ไม่ตรงกับการอ้างอิงจากหน้า (PageID), slot 0 ข่าวสารเกี่ยวกับ๘๙๒๙ระดับ16รัฐ 1, LineNumberObjectID, indexID, partitionID, AllocUnitID (ชนิดข้อมูลในแถว): ข้อผิดพลาดที่พบในข้อมูลที่ไม่ได้อยู่ในแถวที่มี ID ของระเบียนข้อมูลที่ระบุโดยการกำจัด = (rid) ผลลัพธ์ DBCC สำหรับ 'ชื่อ' มี1แถวใน1หน้าสำหรับวัตถุ "ชื่อ" CHECKTABLE พบข้อผิดพลาดในการจัดสรร0และข้อผิดพลาดความสอดคล้อง3ข้อผิดพลาดในตาราง 'ชื่อ' (ObjectID) repair_allow_data_loss เป็นระดับการซ่อมแซมน้อยที่สุดสำหรับข้อผิดพลาดที่พบโดย DBCC CHECKTABLE (ชื่อ. ชื่อ) การดำเนินการ DBCC เสร็จสมบูรณ์ ถ้า DBCC พิมพ์ข้อความแสดงข้อผิดพลาดให้ติดต่อผู้ดูแลระบบของคุณ
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมต่อไปนี้สำหรับ SQL Server:
การอัปเดตที่สะสม5สำหรับ SQL Server ๒๐๑๖ RTM
การอัปเดตที่สะสม2สำหรับ SQL Server ๒๐๑๖ SP1
การอัปเดตที่สะสม4สำหรับ SQL Server ๒๐๑๔ SP2
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนและการแก้ไขปัญหาด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
การอัปเดตที่สะสมล่าสุดสำหรับ SQL Server ๒๐๑๖
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการหลีกเลี่ยงปัญหานี้หลังจากที่คุณเปลี่ยนชนิดข้อมูลให้ตั้งค่าตัวเลือกแถวที่มีขนาดใหญ่เป็น1
ALTER TABLE TableName ALTER COLUMN COLUMN_NAME nvarchar(max) NOT NULL
go
exec sp_tableoption 'TableName', 'large value types out of row', '1'
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
เรียนรู้เกี่ยวกับคำ ศัพท์เฉพาะ ทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์