นำไปใช้กับ
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Web SQL Server 2008 Standard SQL Server 2008 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core

อาการ

เมื่อคุณเรียกใช้คิวรีที่ประกอบด้วยข้อมูลวัตถุขนาดใหญ่ (LOB) เพื่อโหลดลงในตัวแปร Transact SQL ใน Microsoft SQL Server ๒๐๐๘, Microsoft SQL Server ๒๐๑๒หรือ Microsoft SQL Server ๒๐๐๘ R2 ความเสียหายของข้อมูลจะเกิดขึ้น ตัวอย่างเช่นคุณเรียกใช้คิวรีต่อไปนี้เพื่อคัดลอกข้อมูล XML จากคอลัมน์ฐานข้อมูลไปยังตัวแปร XML: Declare @OUTXML as XMLSELECT @OUTXML = DataXml FROM Table_1 WHERE id=1 ในสถานการณ์นี้คำสั่ง select จะเรียกใช้เมื่อเธรดอื่นพยายามปรับปรุงคอลัมน์ XML เดียวกัน ลักษณะการทำงานนี้อาจทำให้เกิดความเสียหายของข้อมูล นอกจากนี้คุณจะได้รับข้อความแสดงข้อผิดพลาดอย่างใดอย่างหนึ่งต่อไปนี้เมื่อคุณทำการดำเนินการอ่านและเขียนบนคอลัมน์ XML ที่เสียหาย:

  • ชนิดข้อมูล XML เสียหาย

  • การสิ้นสุดของไฟล์ที่ไม่คาดคิดเกิดขึ้น

หมายเหตุ

  • ปัญหานี้มักจะเกิดขึ้นระหว่างการดำเนินการการโหลดที่เกิดขึ้นพร้อมกันสูง

  • เมื่อคุณใช้ตัวแทนผู้อ่านล็อกเพื่ออ่านข้อมูล XML ที่เสียหายจากตารางที่เป็นส่วนหนึ่งของรายการบทความสิ่งพิมพ์สำหรับการจำลองแบบของทรานแซคชันคุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

    ชนิดข้อมูล XML เสียหาย (แหล่งที่มา: MSSQLServer, หมายเลขข้อผิดพลาด: ๖๖๑๑)

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากการล็อกบนคอลัมน์ข้อมูลที่ LOB จะถูกนำออกใช้ก่อนที่จะคัดลอกข้อมูลที่ LOB จากคอลัมน์ฐานข้อมูลไปยังตัวแปรชนิดข้อมูลที่ LOB คิวรีที่เกิดขึ้นพร้อมกันสามารถอัปเดตข้อมูลที่ LOB เหมือนกันก่อนที่กระบวนการคัดลอกจะเสร็จสมบูรณ์ในระหว่างกระบวนการคัดลอก ดังนั้นความเสียหายของข้อมูลจะเกิดขึ้น

การแก้ไข

ข้อมูลโปรแกรมอัปเดตสะสม

การอัปเดตที่สะสม7สำหรับ SQL Server ๒๐๑๒

การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน7การอัปเดตที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้สำหรับ SQL Server ๒๐๑๒ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

๒๘๒๓๒๔๗ แพคเกจโปรแกรมปรับปรุงที่สะสม7สำหรับ SQL Server ๒๐๑๒หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server ๒๐๑๒รุ่นก่อนหน้านี้ เราขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

๒๖๙๒๘๒๘ SQL Server ๒๐๑๒รุ่นที่เผยแพร่หลังจากที่มีการเผยแพร่ SQL Server ๒๐๑๒

การอัปเดตที่สะสม12สำหรับ SQL Server ๒๐๐๘ R2 Service Pack 1

การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน12การอัปเดตที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้สำหรับ SQL Server ๒๐๐๘ R2 Service Pack 1 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

๒๘๒๘๗๒๗ แพคเกจโปรแกรมปรับปรุงที่สะสม12สำหรับ SQL Server ๒๐๐๘ R2 Service Pack 1หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server ๒๐๐๘ R2 Service Pack 1 เวอร์ชันก่อนหน้า เราขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

๒๕๖๗๖๑๖ รุ่นของ SQL Server ๒๐๐๘ R2 รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๘ R2 Service Pack 1 ได้รับการเผยแพร่แล้ว

การอัปเดตที่สะสม10สำหรับ SQL Server ๒๐๐๘ Service Pack 3

การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน10การอัปเดตที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้สำหรับ SQL Server ๒๐๐๘ Service Pack 3 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

๒๘๑๔๗๘๓ แพคเกจโปรแกรมปรับปรุงที่สะสม10สำหรับ SQL Server ๒๐๐๘ Service Pack 3หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไขรุ่นก่อนหน้าของ SQL Server ๒๐๐๘ Service Pack 3 เราขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

๒๖๒๙๙๖๙ รุ่นของ SQL Server ๒๐๐๘รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๘ Service Pack 3 ได้รับการเผยแพร่แล้ว

การอัปเดตที่สะสม5สำหรับ SQL Server ๒๐๐๘ R2 Service Pack 2 (SP2)

การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน5การอัปเดตที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้สำหรับ SQL Server ๒๐๐๘ R2 S2008 R2 SP2 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

๒๗๙๗๔๖๐ แพคเกจโปรแกรมปรับปรุงที่สะสม5สำหรับ SQL Server ๒๐๐๘ R2 S2008 R2 SP2หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในเวอร์ชันก่อนหน้าของ SQL Server ๒๐๐๘ R2 S2008 R2 SP2 เราขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

๒๗๓๐๓๐๑ รุ่นของ SQL Server ๒๐๐๘ R2 รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๘ R2 Service Pack 2 ถูกเผยแพร่แล้ว

สถานะ

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

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

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

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