ข้อความแสดงข้อผิดพลาด 823 อาจระบุว่า ปัญหาของฮาร์ดแวร์หรือปัญหาของระบบใน SQL Server

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

เนื้อหาบนหน้านี้

อาการ

ถ้าคุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้ มันอาจ บ่งชี้ว่า Microsoft SQL Server 2000 ได้ตรวจพบฮาร์ดแวร์หรือระบบ ปัญหาเมื่อมีการจากการอ่าน หรือเขียนไปยังแฟ้มฐานข้อมูล:
ข้อผิดพลาด 823
ข้อผิดพลาดของ I/Oข้อผิดพลาด> ตรวจพบในระหว่างการการดำเนินการ> ที่ตรงข้ามออฟเซต> ในแฟ้ม 'แฟ้ม>'
หมายเหตุรูปแบบของข้อความแสดงข้อผิดพลาดไม่แตกต่างกันเล็กน้อยใน Microsoft SQL Server 2005 และ Microsoft SQL Server 7.0 อย่างไรก็ตาม แนวคิดและการสนทนาเดียวยังใช้ SQL Server 2005 และ SQL Server 7.0

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับส่วนต่าง ๆ ของ ความนี้ เช่นข้อผิดพลาด> และการดำเนินการ>, และ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ ดูการใช้ Microsoft Windows API โทรศัพท์ที่ทำงาน ด้วย SQL Server 2000 ส่วน "ข้อมูลเพิ่มเติม" ของบทความนี้

การแก้ไข

SQL Server 2000 ทำให้เกิดข้อผิดพลาดที่กล่าวถึงใน ส่วน "อาการ" ของบทความนี้หากมีเงื่อนไขต่อไปนี้:
  • ข้อผิดพลาดของระบบปฏิบัติการ: A อ่านเรียก API ของ Windows หรือการเขียน การเรียก api ของ Windows จะไม่สำเร็จ และ SQL Server พบการดำเนินการ ข้อผิดพลาดของระบบที่เกี่ยวข้องกับการเรียก api ของ Windows ข้อผิดพลาดต่อไปนี้ ข้อความเป็นตัวอย่างของข้อผิดพลาดที่ 823 สำหรับระบบปฏิบัติการ:
    เกิดข้อผิดพลาด spid75 09:01:27.38 2003-07-28: ความรุนแรงที่ 823 : 24
    สถานะ: 2
    ผิดพลาดของ I/O spid75 2003-07-28 09:01:27.38 1117 (คำร้องขอ ไม่สามารถทำได้เนื่องจากของข้อผิดพลาดของอุปกรณ์ I/O) ตรวจพบในระหว่างการอ่านที่ ออฟเซ็ต 0x0000002d460000 ในแฟ้ม ' e:\program files\Microsoft SQL Server\mssql\data\mydbMDF'
    ยกเว้นสำหรับข้อผิดพลาดของระบบปฏิบัติการ 6 ("หมายเลขอ้างอิงไม่ถูกต้อง"), ข้อผิดพลาดของระบบปฏิบัติการที่มีรายงานสำหรับ 823 ข้อผิดพลาดที่อาจเกี่ยวข้องกับการมีปัญหาระบบต้นแบบหรือปัญหาฮาร์ดแวร์ หากมีข้อผิดพลาดของระบบปฏิบัติการ ถึงแม้ว่าคำสั่ง DBCC CHECKDB ไม่มี ไม่รายงานปัญหา คุณอาจจะต้องทำงานร่วมกับผู้ผลิตฮาร์ดแวร์ ระบบ ผู้ดูแลมี หรือบริการสนับสนุนผลิตภัณฑ์ของ Microsoft เพื่อแก้ไขปัญหานี้ ปัญหา

    หมายเหตุคุณอาจ หรืออาจเห็นข้อผิดพลาดจากคำสั่ง DBCC CHECKDB บน ฐานข้อมูลที่เกี่ยวข้องกับแฟ้มในข้อความแสดงข้อผิดพลาด คุณสามารถเรียกใช้ สั่ง DBCC CHECKDB เมื่อคุณเห็นข้อผิดพลาดที่ 823 ถ้า DBCC CHECKDB คำชี้แจงไม่ได้รายงานข้อผิดพลาดใด ๆ คุณอาจมีระบบที่เป็นระยะ ๆ ปัญหาหรือปัญหาของดิสก์
  • ความล้มเหลวในการตรวจสอบแบบลอจิคัล I/O: ถ้าเรียก Windows API ที่อ่านแล้ว หรือ เขียนเรียก API ของ Windows สำหรับแฟ้มฐานข้อมูลได้สำเร็จ แต่เฉพาะทางตรรกะ ตรวจสอบข้อมูลจะไม่สำเร็จ (torn เพ ตัวอย่าง) ข้อผิดพลาดที่ 823 ถูกยกขึ้น ข้อความแสดงข้อผิดพลาดต่อไปนี้เป็นตัวอย่างของข้อผิดพลาดที่ 823 สำหรับการ I/O ความล้มเหลวในการตรวจสอบแบบลอจิคัล:
    2003-09-05 16:51:18.90 spid17 ข้อผิดพลาด: 823 ระดับความรุนแรง: 24
    สถานะ: 2
    2003-09-05 16:51:18.90 spid17 I/O เกิดข้อผิดพลาด (เพจที่เสียหาย) ตรวจพบในระหว่างการอ่านที่ 0x00000094004000 ในแฟ้มที่ตรงข้าม ' F:\SQLData\mydbMDF' ...
    เมื่อต้องการแก้ไขปัญหานี้ ก่อนรันการ DBCC คำชี้แจง CHECKDB บนฐานข้อมูลที่เกี่ยวข้องกับแฟ้มในข้อผิดพลาด ข้อความ ถ้าคำสั่ง DBCC CHECKDB รายงานข้อผิดพลาด แก้ไขข้อผิดพลาดเหล่านั้น ก่อนที่คุณแก้ไขปัญหานี้ ถ้าปัญหายังคงอยู่แม้หลังจาก มีการแก้ไขข้อผิดพลาดการ DBCC CHECKDB หรือ ถ้าคำสั่ง DBCC CHECKDB ไม่ ไม่รายงานข้อผิดพลาดใด ๆ การตรวจทานแฟ้มบันทึกเหตุการณ์ของระบบ Microsoft Windows NT ใด ๆ ข้อผิดพลาดของระบบหรือข้อผิดพลาดเกี่ยวกับดิสก์ นอกจากนี้คุณยังสามารถติดต่อบริษัทผู้ผลิตฮาร์ดแวร์ของคุณ เมื่อต้องการเรียกใช้การวินิจฉัยใด ๆ ที่เหมาะสม

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

รายละเอียดข้อความแสดงข้อผิดพลาด

ส่วนของข้อความแสดงข้อผิดพลาดที่ 823 ดังต่อไปนี้อธิบายไว้ที่นี่ใน รายละเอียดเพิ่มเติม:
ข้อผิดพลาด 823
ข้อผิดพลาดของ I/Oข้อผิดพลาด> ตรวจพบในระหว่างการการดำเนินการ> ที่ตรงข้ามออฟเซต> ในแฟ้ม 'แฟ้ม>'
ข้อความแสดงข้อผิดพลาดที่ 823 ข้อมูลสามารถอธิบายรายละเอียดเพิ่มเติม:
  • ข้อผิดพลาด>: ซึ่งจะมี ข้อผิดพลาดของระบบปฏิบัติการหรือความล้มเหลวกา I/O แบบลอจิคัล สำหรับระบบปฏิบัติการ ข้อผิดพลาด หมายเลขข้อผิดพลาดของระบบปฏิบัติการตามหลัง "ผิดพลาด I/O" ข้อความของตัว ข้อผิดพลาดของระบบปฏิบัติอยู่ในวงเล็บหลังจากพลาด I/O"หมายเลขข้อผิดพลาด."

    สำหรับการตรวจสอบของ I/O แบบลอจิคัล ความล้มเหลว ความล้มเหลวภายในวงเล็บ และสามารถเป็นหนึ่งใน ต่อไปนี้:
    • (หน้า torn): ดูข้อมูลเพิ่มเติมเกี่ยวกับเพ torn SQL Server 2000 หนังสือออนไลน์
    • (หมายเลขหน้าไม่ถูกต้อง): หมายนี้ข้อความแสดงข้อความ ที่ pageID ที่บน ส่วนหัวของหน้าจะไม่หน้าที่คาดไว้ที่ถูกอ่านจากดิสก์ สำหรับ ตัวอย่าง ถ้า SQL Server 2000 ให้ออฟเซตของแฟ้มสำหรับแฟ้มฐานข้อมูล 1 ที่อยู่ สำหรับหน้าแบบลอจิคัล 100 ควร pageID บนส่วนหัวของหน้าสำหรับเพจนั้น 8 KB เป็น 1:100 ถ้าไม่ ไม่ดีหน้า ID อยู่ในเครื่องล้มเหลวตรรกะของ I/O ข้อความ
    • (ไม่เพียงพอไบต์โอนย้าย): ปัญหานี้ บ่งชี้ว่า การเรียก api ของ Windows เสร็จเรียบร้อยแล้ว แต่ไบต์เคย การโอนย้ายได้ถูกไม่ใช่สิ่งคาดหวัง
  • <operation>: นี่คือการอ่านหรือเขียน</operation>
  • <offset>: นี่คือออฟเซตของไบต์ที่มีอยู่จริงจากการ จุดเริ่มต้นของแฟ้ม การหารตัวเลขนี้ ด้วย 8192 จะให้หน้าแบบลอจิคัล หมายเลขที่ได้รับผลกระทบจากข้อผิดพลาด</offset>
  • <file>: นี่คือแฟ้มที่เกี่ยวข้องกับการ ปัญหา I/O และรวมถึงเส้นทางกายภาพของเสร็จสมบูรณ์แล้ว</file>

SQL Server API I/O และ Windows

SQL Server 2000 ใช้เรียก Windows API มาตรฐาน เช่น ReadFile ReadFileScatter, WriteFile และ WriteFileGather การดำเนินการ I/O ด้วยนั้น แฟ้มฐานข้อมูล เมื่อ SQL Server 2000 ใช้เรียก Windows API แฟ้มได้ แล้วเปิดเสร็จเรียบร้อยแล้ว หรือ SQL Server 2000 จะไม่พยายามอ่านจาก โปรแกรมดังกล่าวหรือเขียนนั้น ดังนั้น ถ้าเรียก Windows API ไม่สำเร็จ และถ้า ข้อผิดพลาดมีสิ่งอื่นนอกเหนือจากข้อผิดพลาดของระบบปฏิบัติการ 6 ไม่ถูก ("ต้อง หมายเลขอ้างอิง"), ข้อผิดพลาดมีแนวโน้มถูกยก ใน Windows หรือ โดย ระดับล่าง ซอฟต์แวร์ประกอบ เช่นโปรแกรมควบคุมอุปกรณ์ เนื่องจากข้อผิดพลาดของระบบปฏิบัติการ 6 จะมีหมายเลขอ้างอิงที่ไม่ถูกต้อง ปัญหาอาจเกิดขึ้นหากเซิร์ฟเวอร์ SQL โดยใช้ไม่ถูกต้อง จัดการการทำให้ Windows API ที่เรียก อย่างไรก็ตาม ซึ่งอาจจะมีปัญหาระบบ

ตัวอย่างเช่น ถ้าคุณพบข้อความแสดงข้อผิดพลาดต่อไปนี้ใน SQL แฟ้ม Errorlog server, SQL เซิร์ฟเวอร์พบข้อผิดพลาดของระบบปฏิบัติการ 2 เมื่อนั้น ใช้การเรียก api ของ Windows เขียนไปtempdbแฟ้มฐานข้อมูลหลัก:
ข้อผิดพลาด: 823 ระดับความรุนแรง: รัฐ 24 : 4
ข้อผิดพลาดของ I/O 2 (ระบบไม่พบแฟ้มที่ระบุ) ตรวจพบในระหว่างการเขียนที่ออฟเซต 0x00000000284000 ในแฟ้ม ' D:\Program Files\Microsoft SQL Server\MSSQL\data\tempdb.mdf'
เนื่องจาก SQL Server เปิดแฟ้มมีอยู่แล้วเรียบร้อยแล้ว และไม่ได้รับการไม่ถูกต้อง" ข้อผิดพลาดจัดการ" ข้อผิดพลาดมีแนวโน้มถูกยกในเคอร์เนลของระดับล่าง ซอฟต์แวร์ประกอบ เช่นระบบแฟ้มหรือโปรแกรมควบคุมอุปกรณ์ ปัญหานี้ ไม่ได้ระบุว่า เป็นปัญหาที่เกิดขึ้นกับ SQL Server และต้องถูกตรวจสอบเป็นการ ออก ด้วยระบบแฟ้มหรือโปรแกรมควบคุมอุปกรณ์ที่เกี่ยวข้องกับแฟ้มนั้น

ข้อมูลอ้างอิง

ข้อมูลการวินิจฉัยเพิ่มเติมสำหรับข้อผิดพลาด 823 อาจเรียบร้อยแล้ว เขียนลงในแฟ้มของ SQL Server Errorlog เมื่อคุณใช้การตั้งค่าสถานะการติดตาม 818สำหรับข้อมูลเพิ่มเติม เกี่ยวกับข้อมูลนี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
826433PRB: การวินิจฉัย SQL Server เพิ่มเติมที่เพิ่มเข้าไปตรวจหาปัญหา I/O ที่ถูกรายงาน
SQL Server ต้องมีระบบการสนับสนุน 'รับประกันการส่งไปยังสื่อที่มั่น' ตามคำแนะนำภายใต้โปรแกรม Microsoft SQL Server ที่เก็บ Always-On โซลูชันการตรวจทาน Foสำหรับข้อมูลเพิ่มเติมเกี่ยวกับความต้องการป้อนข้อมูล และผลลัพธ์สำหรับกลไกจัดการฐานข้อมูล SQL Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
967576ความต้องการอินพุต/เอาท์พุตของกลไกจัดการฐานข้อมูลเซิร์ฟเวอร์ Microsoft SQL

คุณสมบัติ

หมายเลขบทความ (Article ID): 828339 - รีวิวครั้งสุดท้าย: 28 มกราคม 2554 - Revision: 5.0
ใช้กับ
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express 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 Standard
Keywords: 
kbprb kbmt KB828339 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:828339

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