ฐานข้อมูลจะถูกทำเครื่องหมายสงสัยทำให้อุปกรณ์หายไป

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:180500
บทความนี้ถูกเก็บถาวรแล้วเนื้อหาของบทความจึงถูกนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก
อาการ
sql Server ทำเครื่องหมายสงสัยฐานข้อมูลถ้ามีแฟ้มที่อุปกรณ์สำหรับฐานข้อมูลจะไม่พร้อมใช้งานเมื่อคุณพยายามเริ่มการทำงาน คุณอาจพบการตั้งค่าต่อไปนี้ของข้อความในล็อกข้อผิดพลาด SQL Server:
ข้อความแสดงข้อผิดพลาด 1:
udopen เคอร์เนล 10:48:32.60 96/11/18: ระบบปฏิบัติการข้อผิดพลาด 32 (ตัว
กระบวนการไม่สามารถเข้าถึงแฟ้มได้เนื่องจากกำลังถูกใช้ โดยอื่น
กระบวนงาน) ในระหว่างการสร้าง/เปิดอุปกรณ์ทางกายภาพ
C:\DATA\SQL\MSDB.DAT (หรือ C:\DATA\SQL\MSDB.MDF)

udactivate เคอร์เนล 10:48:32.60 96/11/18 (หลัก): ไม่สามารถเปิดได้
อุปกรณ์ C:\MSSQL\DATA\MSDB.DAT (หรือ C:\DATA\SQL\MSDB.MDF) สำหรับ vdn 127
เกิดข้อผิดพลาด 2
udopen เคอร์เนล 10:48:32.60 96/11/18: ข้อผิดพลาด 2 (การของระบบปฏิบัติการ
ระบบไม่พบแฟ้มที่ระบุไว้) ในระหว่างการสร้าง/เปิด
ทางกายภาพอุปกรณ์ C:\MSSQL\DATA\MSDB.DAT (หรือ C:\DATA\SQL\MSDB.MDF)

udactivate เคอร์เนล 10:48:32.60 96/11/18 (หลัก): ไม่สามารถเปิดอุปกรณ์ C:\MSSQL\DATA\MSDB.DAT (หรือ C:\DATA\SQL\MSDB.MDF) สำหรับ vdn 127
สิ่งเหล่านี้จะเป็นตามต่อไปในแฟ้มบันทึกโดย:
udread เคอร์เนล 10:48:36.70 96/11/18: ข้อผิดพลาดของระบบปฏิบัติการ 6 (ตัว
หมายเลขอ้างอิงไม่ถูกต้อง) บนอุปกรณ์ 'C:\MSSQL\DATA\MSDB.DAT' (หรือ C:\DATA\SQL\MSDB.MDF) (virtpage
0x7f000018)

ข้อผิดพลาดการ spid11 10:48:36.77 96/11/18: ความรุนแรง 840 : สถานะ 17 : 2

96/11/18 10:48:36.77 spid11 อุปกรณ์ 'MSDBData' (ด้วยชื่อที่มีอยู่จริง
'C:\MSSQL\DATA\MSDB.DAT' (หรือ C:\DATA\SQL\MSDB.MDF), และหมายเลขของอุปกรณ์เสมือน 127) ไม่ได้
พร้อมใช้งาน กรุณาติดต่อผู้ดูแลระบบเพื่อขอความช่วยเหลือ

96/11/18 10:48:36.77 1092480 บัฟเฟอร์ spid11 จากฐานข้อมูล 'msdb'
มีหมายเลขหน้า 0 ในส่วนหัวของหน้าและหมายเลขหน้า 24 ในนั้น
ส่วนหัวของบัฟเฟอร์

96/11/18 10:48:37.43 spid11 ไม่สามารถดำเนินการกู้คืนของ
dbid <5>เนื่องจากความข้อผิดพลาดก่อนหน้านี้ ดำเนินการต่อ ด้วยถัดไป</5>
database.
ตัวอย่างเช่น การดำเนินการตามขั้นตอนต่อไปนี้จะสาธิตปัญหา:
  1. หยุดการ SQL Server
  2. ออกคำสั่งต่อไปนี้จากพรอมต์คำสั่งที่ Mssql\Data ไดเรกทอรี:

    ren msdb.dat msdb.sav
  3. เริ่ม SQL Server
คุณจะเห็นข้อผิดพลาด (รายการจากชุดที่สอง) ข้างต้นใน errorlog SQL Server ถ้าคุณออกแบบสอบถามต่อไปนี้ในฐานข้อมูลหลักแล้ว
   select name, dbid, mode, status from sysdatabases where dbid =   db_id('msdb')				

คุณได้รับข้อความแสดงผลลัพธ์ต่อไปนี้:
   name     dbid   mode   status   ------------------------------   msdb      5      0      328				

สถานะของ 328 ตรวจสอบการ:
   truncate log on chkpt   database not recovered yet   database is suspect				

สำหรับข้อมูลเพิ่มเติม ให้ดูที่หัวข้อ "Sysdatabases (ฐานหลักข้อมูลเท่านั้น)" ในใน SQL Server หนังสือออนไลน์
สาเหตุ
เมื่อเริ่มต้น SQL Server พยายามรับการล็อกแบบเอกสิทธิ์เฉพาะบุคคลในแฟ้มอุปกรณ์ ถ้าอุปกรณ์ดังกล่าวกำลังถูกใช้ โดยการดำเนินการอื่น (ตัวอย่างเช่น สำรองซอฟต์แวร์) หรือ ถ้าแฟ้มขาดหายไป สถานการณ์ที่อธิบายข้างต้นจะถูกพบ ในกรณีดังกล่าว ไม่มีโดยปกติสิ่งใดกับอุปกรณ์และฐานข้อมูลไม่ถูกต้อง สำหรับฐานข้อมูลการกู้คืนได้อย่างถูกต้อง อุปกรณ์จะต้องทำพร้อมใช้งาน และสถานะของฐานข้อมูลต้องถูกตั้งค่าใหม่
การหลีกเลี่ยงปัญหา
เมื่อต้องการแก้ไขปัญหานี้ ดำเนินการขั้นตอนด้านล่าง โปรดสังเกตว่า ขั้นตอนสุดท้ายสำคัญ
  1. ให้แน่ใจว่า แฟ้มที่อุปกรณ์ไม่พร้อมใช้งานจริง
  2. ใช้ sp_resetstatus กระบวนงานที่เก็บไว้เพิ่มเติมเพื่อรีเซ็ตสถานะของฐานข้อมูล suspect ถ้าคุณไม่ได้ทำสิ่งนี้ สร้างกระบวนการนี้ โดยการดำเนินการสคริปต์ Instsupl.sql พบในไดเรกทอรี Mssql\Install สำหรับข้อมูลเพิ่มเติมบน sp_resetstatus ให้ดูที่หัวข้อ "การตั้งค่าใหม่ในสงสัยว่าสถานะ" ในใน SQL Server หนังสือออนไลน์
  3. ดำเนินการ sp_resetstatus ในฐานข้อมูลหลักสำหรับฐานข้อมูล suspect:
          use master      go      exec sp_resetstatus msdb   -- replace msdb with your database name 						
    คุณจะเห็นผลลัพธ์ต่อไปนี้:
          Prior to Update sysdatabases attempt for DBName='msdb', the mode=0      and status=328 (status suspect_bit=256). For DBName='msdb' in      sysdatabases, status bit 256 was forced Off and mode was forced to      0. WARNING: You MUST stop/restart SQL Server prior to accessing this      database! 					
  4. หยุด และเริ่มต้นเซิร์ฟเวอร์ SQL
  5. ตรวจสอบว่า ฐานข้อมูลถูกกู้คืน และพร้อมใช้งาน
  6. รันการ DBCC NEWALLOC, TEXTALL DBCC และ DBCC CHECKDB
ข้อมูลเพิ่มเติม
ถ้าฐานข้อมูลถูกทำเครื่องยังคงหมายเป็นสงสัยหลังจากการดำเนินการขั้นตอนเหล่านี้ อาจเป็นปัญหาอื่นที่ป้องกันไม่ให้ฐานข้อมูลการกู้คืน ณจุดนี้ คุณสามารถอย่างใดอย่างหนึ่งกู้คืนจากการสำรองข้อมูลที่ดี หรือฐานข้อมูลการตั้งค่าเป็นโหมดฉุกเฉิน และใช้โปรแกรมคัดลอกขนาดใหญ่ (BCP) เพื่อจำนวนมากสำเนาข้อมูลออกสำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
165918โหมดการเลี่ยงผ่าน (Emergency) และการถ่ายโอนธุรกรรม WITH NO_LOG
สิ่งสำคัญถ้าคุณใช้บทความนี้ (Q165918) และไม่แน่ใจของผลลัพธ์ทั้งหมดของการดำเนินการที่คุณกำลังดำเนินการ ติดต่อผู้ให้บริการสนับสนุนหลักสำหรับความช่วยเหลือ

จุดตรวจสอบ db

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 180500 - การตรวจสอบครั้งสุดท้าย: 12/05/2015 08:22:03 - ฉบับแก้ไข: 2.0

Microsoft SQL Server 6.0 Standard Edition, Microsoft SQL Server 6.5 Standard Edition

  • kbnosurvey kbarchive kbprb kbmt KB180500 KbMtth
คำติชม