วิธีการแก้ปัญหา 832 ข่าวสารเกี่ยวกับ (หน้าคงมีการเปลี่ยนแปลง) ใน SQL Server

การแปลบทความ การแปลบทความ
ปิด ปิด
หมายเลขบทความ (Article ID): 2015759 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

อาการ

โปรแกรมของเซิร์ฟเวอร์ SQL อาจเขียนออกไปยังแฟ้ม ERRORLOG ที่ผิดพลาดต่อไปนี้เมื่อตรวจพบหน้าฐานข้อมูลได้ถูกปรับเปลี่ยนโดยไม่คาดคิดในขณะที่อยู่ในแคช:

ข้อผิดพลาด: 832 ความรุนแรง: 24 สถานะ: 1
มีการเปลี่ยนแปลงเพที่ควรถูกคง(checksum ที่คาดไว้: <ค่า expected >, checksum จริง: <จริงค่า > ฐานข้อมูล <dbid> แฟ้ม '<filename> ' หน้า <pageno>) ซึ่งมักจะแสดงความล้มเหลวของหน่วยความจำ หรืออื่น ๆ ฮาร์ดแวร์ หรือความเสียหายของระบบปฏิบัติการ

ข้อผิดพลาดนี้มีการตรวจพบ โดยงานพื้นหลังที่มักเรียกว่าLazyWriterดู ("คำสั่ง" สำหรับงานนี้ไม่ได้เป็นตัวเขียน LAZY)ดังนั้น ข้อผิดพลาดนี้ถูกส่งไม่กลับไปยังโปรแกรมประยุกต์ไคลเอ็นต์ข้อผิดพลาดจะถูกเขียนไปยัง Windows แอพลิเคชันล็อกเหตุการณ์เป็น EventID = 832

สาเหตุ

เงื่อนไข "ภายนอก" บางตัวได้เกิดจากเพฐานข้อมูลการแก้ไขนอกรหัสโปรแกรม SQL Server ปกติซึ่งใช้ในการเปลี่ยนเพจที่ฐานข้อมูล เงื่อนไขอาจเป็น:

  • เธรดที่รันใน SQL Server ดำเนินการเขียนข้อมูลที่ไม่ถูกต้องบนเพจในฐานข้อมูลนี่คือมักเรียกว่าเป็น "scribbler"
  • แก้ไขปัญหากับฮาร์ดแวร์หรือระบบปฏิบัติการที่ตำแหน่งหน่วยความจำแบบเพฐานข้อมูลการสำรองข้อมูลไม่ถูกต้อง หรือเสียหาย

การแก้ไข

การค้นหาสาเหตุของข้อผิดพลาด ให้ลองตัวเลือกเหล่านี้:

  • คุณควรรันฮาร์ดแวร์ใด ๆ ปกติ หรือระบบตรวจสอบเพื่อตรวจสอบว่า มีหน่วยความจำเป็น CPU หรือปัญหาอื่น ๆ เกี่ยวข้องฮาร์ดแวร์อยู่ ตรวจสอบโปรแกรมควบคุมระบบ ปรับปรุงระบบปฏิบัติการทั้งหมด และโปรแกรมปรับปรุงฮาร์ดแวร์ได้ถูกนำไปใช้กับระบบของเราให้พิจารณาการใช้งานการผลิตฮาร์ดแวร์ใด ๆ รวมทั้งหน่วยความจำการวิเคราะห์ที่เกี่ยวข้องทดสอบ
  • ประเมินสิ่ง DLLs "ภายนอก" อาจถูกโหลดใน SQL Server ที่อาจก่อให้เกิดปัญหานี้รวมทั้งขยายกระบวนงานที่เก็บไว้ วัตถุ COM หรือ DLLs อื่น ๆ ที่อาจจะไม่ถูกต้องแก้ไข SQL Server หน่วยความจำที่สงวนไว้สำหรับเพจที่ฐานข้อมูล

เมื่อคุณมองเห็นข้อความแสดงข้อผิดพลาดนี้ คุณทันทีควรรัน CHECKDB DBCC กับฐานข้อมูลการอ้างอิง โดย <dbid>ในข้อความข้อผิดพลาด

ข้อมูลเพิ่มเติม

เฉพาะเพจที่จะไม่อยู่ในขณะนี้ปรับเปลี่ยนในแคช (หรือ "สกปรก") จะถูกกาเครื่องหมาย นี้คือสาเหตุที่ข้อความใช้เงื่อนไข "ค่าคง"ได้เนื่องจากเพจที่ไม่ถูกเปลี่ยนหลังจากได้ถูกอ่านในจากดิสก์ นอกจากนี้ หน้าถูกอ่านใน "ใหม่ทั้งหมด" จากดิสก์ได้เนื่องจากมีค่า checksum บนหน้า และไม่พบความล้มเหลว checksum (ข่าวสารเกี่ยวกับ 824) อย่างไรก็ตาม หน้าอาจจะแก้ไขจุดบางส่วนหลังจากข้อผิดพลาดนี้ และเขียนดิสก์ ด้วยการปรับเปลี่ยนที่ไม่ถูกต้อง ในกรณีนี้ checksum ใหม่ถูกคำนวณขึ้นอยู่กับการปรับเปลี่ยนทั้งหมดก่อนที่จะถูกเขียนลงดิสก์ ดังนั้น หน้าอาจจะเสียหายบนดิสก์ แต่การอ่านต่อมาจากดิสก์อาจทริกเกอร์ความล้มเหลว checksum ไม่ คุณจำเป็นในการรันการ DBCC CHECKDB บนฐานข้อมูลที่ถูกอ้างอิง โดยข้อผิดพลาดนี้

เป็นไปได้ว่า CHECKDB DBCC แม้จะไม่รายงานข้อผิดพลาดสำหรับหน้าในสถานะนี้หลังจากที่กำลังถูกเขียนลงดิสก์นี่คือเนื่องจากการปรับเปลี่ยนที่ไม่ถูกต้องอาจเป็นที่ตั้งบนหน้าที่ไม่ต้องเก็บข้อมูลใด ๆ หรือประกอบด้วยหน้าที่สำคัญหรือข้อมูลของโครงสร้างแถว ใดๆ หรือสามารถทำการปรับเปลี่ยนข้อมูลที่ตรวจไม่พบ CHECKDB

รายละเอียดเพิ่มเติมและข้อมูลเกี่ยวกับ 832 ข่าวสารเกี่ยวกับสามารถจะอ่านใน whitepaper ขั้นพื้นฐานของ I/O ของเซิร์ฟเวอร์ SQL บทที่ 2

Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

คุณสมบัติ

หมายเลขบทความ (Article ID): 2015759 - รีวิวครั้งสุดท้าย: 17 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
Keywords: 
kbmt KB2015759 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2015759

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com