คำถามติดแท็ก recovery

การสร้างฐานข้อมูลใหม่

3
ฉันจะเรียกคืนระเบียนที่ถูกลบได้อย่างไร
ฉันลบประมาณ 2,000,000 ระเบียนจากตาราง SQL Server 2008 ระยะไกลโดยไม่ตั้งใจ เซิร์ฟเวอร์ไม่อนุญาตให้ฉันเข้าถึงไฟล์สำรองข้อมูลทางฝั่งเซิร์ฟเวอร์ มีวิธีใดที่จะเรียกคืนบันทึกเหล่านี้หรือไม่

1
แบบจำลองการกู้คืนง่ายหรือเต็มสำหรับฐานข้อมูล
ฉันควรใช้แบบจำลองการกู้คืนแบบเต็มเมื่อใดและเมื่อใดควรใช้แบบจำลองการกู้คืนอย่างง่ายสำหรับฐานข้อมูล ฉันใช้รูปแบบการกู้คืนแบบเต็มเสมอเพราะเป็นค่าเริ่มต้น แต่วันนี้ฉันพบข้อผิดพลาดนี้: ผู้ให้บริการ Microsoft OLE DB สำหรับ SQL Server (0x80040E14) บันทึกธุรกรรมสำหรับฐานข้อมูล 'DATABASE NAME' เต็ม หากต้องการค้นหาสาเหตุที่พื้นที่ในบันทึกไม่สามารถนำกลับมาใช้ใหม่ได้ให้ดูคอลัมน์ log_reuse_wait_desc ใน sys.database จริง ๆ แล้วฐานข้อมูลเฉพาะนั้นเป็นหนึ่งในฐานข้อมูลที่เล็กที่สุดและไม่ได้ใช้งานมากที่สุดบนเซิร์ฟเวอร์ของฉันดังนั้นฉันจึงไม่รู้เลยว่าจะสามารถบันทึกข้อมูลได้เต็มรูปแบบในฐานข้อมูลนี้ได้อย่างไร เมื่อต้องการลดขนาดบันทึกและทำให้ฐานข้อมูลสามารถเข้าถึงได้อีกครั้งฉันเปลี่ยนรูปแบบการกู้คืนจาก FULL เป็น SIMPLE และลดขนาดแฟ้มบันทึกเชิงตรรกะด้วยคำสั่งต่อไปนี้ alter database myDbName SET recovery simple go dbcc shrinkfile('LOG FILE LOGICAL NAME', 100) go มันช่วย แต่ตอนนี้ฉันต้องเข้าใจทำไมมันช่วยHOWสถานการณ์นี้เริ่มต้นและวิธีการป้องกันนี้ในอนาคตหรือไม่ แก้ไข: ทุกคืนเวลา 1 นาฬิกาเรากำลังสำรองข้อมูลสคริปต์ทุกฐานข้อมูลบนเซิร์ฟเวอร์ สิ่งนี้กำลังดำเนินการโดยสคริปต์บรรทัด 31 ซึ่งส่วนที่สำคัญที่สุดคือ …

1
PostgreSQL ลบจากล้มเหลวด้วยข้อผิดพลาด: พยายามที่จะลบ tuple ที่มองไม่เห็น
คำถามนี้ถูกโยกย้ายจาก Server Fault เนื่องจากสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 3 ปีที่แล้ว ความผิดพลาด กำลังพยายามลบสิ่งอันดับที่มีการประทับเวลาที่ไม่ถูกต้องด้วย DELETE FROM comments WHERE date > '1 Jan 9999' OR date < '1 Jan 2000' OR date_found > '1 Jan 9999' OR date_found < '1 Jan 2000'; สิ้นสุดลงใน ERROR: attempted to delete invisible tuple มีรายชื่อผู้รับจดหมายจากปี 2009 ที่พูดถึงข้อความแสดงข้อผิดพลาดเดียวกันที่ …

3
SQL Server แสดงฐานข้อมูลในการกู้คืน
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 7 ปีที่ผ่านมา วันนี้หลังจากไฟฟ้าขัดข้องหนึ่งฐานข้อมูล (พร้อมการกู้คืน: เต็ม) แสดง "In Recovery" ใน SSMS ดังนั้น: myDatabase (ในการกู้คืน) (สถานะฐานข้อมูล: การกู้คืน, ปิดเครื่อง) หลังจากเสร็จสิ้นกระบวนการ "กู้คืน" ฐานข้อมูลจะแสดงชื่อ myDatabase โดยไม่มี "(กำลังกู้คืน)" ฉันคิดว่าปัญหาได้รับการแก้ไข แต่ไม่ใช่ เมื่อฉันเริ่มต้นแอปพลิเคชันที่ใช้ฐานข้อมูลนั้นข้อความพิเศษ "(กำลังกู้คืน)" จะปรากฏขึ้นอีกครั้งถัดจากชื่อฐานข้อมูลของฉัน ฉันรอจนกระทั่ง "กระบวนการกู้คืน" เสร็จสิ้นจากนั้นจึงเอาฐานข้อมูลออฟไลน์และนำกลับมาออนไลน์ ฉันรีสตาร์ทเซิร์ฟเวอร์รีสตาร์ทคอมพิวเตอร์และเมื่อแอปพลิเคชันของฉันทำงานข้อความพิเศษจะปรากฏขึ้นอีกครั้ง ใน SQL Server บันทึกข้อความ "เริ่มต้นฐานข้อมูล 'myDatabase'" ปรากฏขึ้นสองสามครั้ง ดูเหมือนว่าฐานข้อมูลทำงานได้เพราะฉันสามารถแทรกข้อมูลได้ แต่สถานะกำลังแสดงให้เห็นว่ามีบางสิ่งเกิดขึ้น บันทึกเซิร์ฟเวอร์ไม่แสดงสิ่งที่น่าสนใจ …

2
สร้างบันทึกการทำธุรกรรมขึ้นใหม่
เรามีฐานข้อมูลขนาดใหญ่มาก (~ 6TB) ซึ่งไฟล์บันทึกธุรกรรมถูกลบ (ในขณะที่ SQL Server ปิดตัวลงเราได้ลอง: การถอดและติดตั้งฐานข้อมูลอีกครั้ง และ การยกเลิกการลบไฟล์บันทึกธุรกรรม ... แต่ยังไม่มีอะไรทำงาน เรากำลังทำงานอยู่: ALTER DATABASE <dbname> REBUILD LOG ON (NAME=<dbname>,FILENAME='<logfilepath>') ... แต่ด้วยขนาดของฐานข้อมูลอาจใช้เวลาสองสามวันจึงจะเสร็จสมบูรณ์ คำถาม มีความแตกต่างระหว่างคำสั่งด้านบนและคำสั่งต่อไปนี้หรือไม่? DBCC CHECKDB ('<dbname>', REPAIR_ALLOW_DATA_LOSS) เราควรจะดำเนินการREPAIR_ALLOW_DATA_LOSSแทนหรือไม่ เป็นที่น่าสังเกตว่าข้อมูลนั้นมาจากแหล่งอื่น ๆ เพื่อให้สามารถสร้างฐานข้อมูลใหม่ได้อย่างไรก็ตามเราสงสัยว่าจะซ่อมแซมฐานข้อมูลได้เร็วกว่าการแทรกข้อมูลทั้งหมดอีกครั้ง ปรับปรุง สำหรับคะแนนการรักษาเหล่านั้น: ALTER DATABASE/REBUILD LOGคำสั่งเสร็จสิ้นหลังจากประมาณ 36 ชั่วโมงและรายงาน: คำเตือน: บันทึกสำหรับฐานข้อมูล 'dbname' ได้ถูกสร้างขึ้นใหม่ ความสอดคล้องของธุรกรรมสูญหายไป สายโซ่ RESTORE ใช้งานไม่ได้และเซิร์ฟเวอร์ไม่มีบริบทในไฟล์บันทึกก่อนหน้านี้อีกต่อไปดังนั้นคุณจะต้องรู้ว่าไฟล์เหล่านั้นคืออะไร คุณควรรัน DBCC …

1
กู้คืนฐานข้อมูล MySQL จากโฟลเดอร์ข้อมูลโดยไม่มี ibdata1 จากไฟล์ ibd
ไดเรกทอรี WAMP ของฉันถูกลบโดยผู้ใช้รายอื่นโดยไม่ตั้งใจ มีโฟลเดอร์ข้อมูลเฉพาะใน MySQL เท่านั้น และในโฟลเดอร์ฐานข้อมูลเท่านั้น (โฟลเดอร์ใน "\ bin \ mysql \ mysql5.6.12 \ data \" ที่มีชื่อฐานข้อมูล) จะพร้อมใช้งาน ไฟล์ทั้งหมดรวมถึง " ibdata1 " ที่อยู่ในรูทของ "\ bin \ mysql \ mysql5.6.12 \ data \" จะถูกลบเช่นกัน โฟลเดอร์ฐานข้อมูลมีไฟล์ที่มีนามสกุลด้านล่างเท่านั้น * .frm, * .ibd และไฟล์ "db.opt" วิธีการกู้คืนฐานข้อมูล ฉันได้ลองกู้ bdata1 แล้ว แต่ไม่สามารถรับกลับคืนมาได้ และบางฐานข้อมูลก็มี MYISAM ด้วย

1
กำลังกู้คืนฐานข้อมูล 'MyDb' รอจนกว่าการกู้คืนจะเสร็จสิ้น
ฉันได้รับข้อผิดพลาด: กำลังกู้คืนฐานข้อมูล 'MyDb' รอจนกว่าการกู้คืนจะเสร็จสิ้น ฉันมีการดำเนินการที่สำคัญในเวลานั้น สาเหตุของสถานการณ์นี้คืออะไร? และจะหลีกเลี่ยงได้อย่างไร

2
การเรียกคืนหน้าเว็บออนไลน์ที่มีจำนวนการ จำกัด 1,000 ครั้ง
ฉันได้รับมอบหมายให้พยายามกู้คืนฐานข้อมูลที่ประสบจากความเสียหาย (เนื่องจากความล้มเหลวของ I / O ซึ่งได้รับการแก้ไขตั้งแต่) ฉันไม่คุ้นเคยกับฐานข้อมูลหรือสิ่งที่มีอยู่ ฉันได้รับการสำรองข้อมูลเต็มรูปแบบเก่า (~ 3 สัปดาห์) และชุดบันทึกธุรกรรม ... แต่มีบันทึกธุรกรรมขาดหายไปดังนั้นฉันสามารถกู้คืนได้จนถึงวันที่กำหนด ข้อมูลหายไป 2.5 สัปดาห์ (และมีข้อมูลจำนวนมากถูกเพิ่มลงในฐานข้อมูลนี้อย่างต่อเนื่อง) ฉันยังได้รับสำเนาของฐานข้อมูลที่เสียหาย (ซึ่งสามารถเข้าถึงได้ แต่มีหลายหน้าเสียหาย / ขาดหายไป) ฉันได้ลองDBCC CHECKDBคำสั่งทั่วไป(ยังไม่repair_allow_data_lossว่าจะเป็นทางเลือกสุดท้ายของฉันถ้าไม่มีอะไรทำงาน) หลังจากหลายคนมาและไปที่ฐานข้อมูล (db ​​เป็นสัตว์ประหลาดตัวเล็ก ๆ 1.5 เทราไบต์และทุกอย่างที่ฉันทำช้าและใช้เวลาสักครู่) ฉันพยายามทำการกู้คืนหน้าออนไลน์จากการสำรองข้อมูลที่ดีที่รู้จักล่าสุดสำหรับเพจที่เสียหาย ในการทำเช่นนั้นฉันได้ทำสคริปต์ที่สร้างRESTORE DATABASE <foo> PAGE='pages' FROM DISK='<bar.bak>'คำสั่งจำนวนมากจากDBCC CHECKDBผลลัพธ์ (โดยปกติ regex และแตกต่างกันไป) ... ดีมากจนถึงตอนนี้มันใช้งานได้จนถึงจุดที่บอกว่าฉันมีจำนวนหน้าถึง 1,000 หน้า ต่อไฟล์ (มี 8 ไฟล์ใน …

4
เหตุใด Mongo ติดอยู่ใน STARTUP2
ฉันมีMongoชุดแบบจำลองที่มีสองสามวินาที กล่องซึ่งโฮสต์อินสแตนซ์สำรองเกิดข้อผิดพลาดและสูญเสียฐานข้อมูล ฉันเริ่มต้นMongoอินสแตนซ์สำรองอีกครั้งและตอนนี้มันติดอยู่ใน STARTUP2 นานกว่า 12 ชั่วโมง มันสมเหตุสมผลหรือไม่ เอกสารดังกล่าวMongoควรอยู่ในช่วงเวลาสั้น ๆ ก่อนที่จะเข้าสู่สถานะการกู้คืน STARTUP2 หมายความว่าอย่างไร มันจะคัดลอกฐานข้อมูลจากหลักหรือไม่ ฉันจะตรวจสอบได้อย่างไร (สมมติว่า Mongo ทำงานอยู่ใน Linux)
13 mongodb  recovery 

3
ฐานข้อมูลกลุ่มความพร้อมใช้งานติดอยู่ในโหมดไม่ซิงโครไนซ์ / กู้คืนค้างอยู่
ในขณะที่อัปเกรดที่เก็บข้อมูลในอินสแตนซ์ของ SQL Server 2014 SP1 (12.0.4422.0) เราพบปัญหาที่ฐานข้อมูลสองแห่งจะไม่เริ่มทำงานบนฐานรองหลังจากรีสตาร์ท SQL Server เซิร์ฟเวอร์ออฟไลน์ไม่กี่ชั่วโมงในขณะที่เราติดตั้ง SSD ใหม่ (ใหญ่กว่า) และคัดลอกไฟล์ข้อมูลไปยังโวลุ่มใหม่ เมื่อเรารีสตาร์ท SQL Server ทั้งหมด แต่สองฐานข้อมูลเริ่มซิงโครไนซ์อีกครั้ง อีกสองคนที่ถูกแสดงใน SSMS เป็นไม่ตรงกัน / กู้คืนรอดำเนินการ ไม่พบปัญหาการซิงโครไนซ์ / การกู้คืนที่คล้ายกันมาก่อนฉันตรวจสอบสถานะภายใต้กลุ่มความพร้อมใช้งาน -> ฐานข้อมูลความพร้อมใช้งาน แต่พวกเขาแสดง X สีแดง: และแม้แต่พยายามระงับการเคลื่อนย้ายข้อมูลสร้างข้อความแสดงข้อผิดพลาด: ไม่สามารถระงับการเคลื่อนย้ายข้อมูลในฐานข้อมูล 'StackExchange.Bycycles.Meta' ซึ่งอยู่ในแบบจำลองความพร้อมใช้งาน 'ny-sql03' ในกลุ่มความพร้อมใช้งาน 'SENetwork_AG' (Microsoft.SqlServer.Smo) ข้อมูลเพิ่มเติม: เกิดข้อยกเว้นขณะดำเนินการคำสั่งหรือชุดงาน transact-SQL (Microsoft.SqlServer.ConnectionInfo) ฐานข้อมูล 'StackExchange.Bycycles.Meta' ไม่สามารถเปิดได้เนื่องจากไฟล์ที่ไม่สามารถเข้าถึงหรือหน่วยความจำไม่เพียงพอหรือพื้นที่ดิสก์ไม่เพียงพอ ดูบันทึกข้อผิดพลาด SQL Server …

2
เนื้อหาของไฟล์บันทึกธุรกรรมโดยละเอียด
ฉันมีคำถามเกี่ยวกับการทำธุรกรรม (ขอเรียกสั้น ๆ ว่า LDF) เนื้อหา ฉันสมมติว่าฐานข้อมูลพร้อมกับแบบจำลองการกู้คืนเต็มรูปแบบ ฉันได้อ่านว่าไฟล์ LDF มี (บันทึก) การดำเนินการแต่ละรายการและทุกครั้งไปยังฐานข้อมูล (ที่อยู่ในโหมดการกู้คืนเต็ม) มันแตกต่างจากการล็อกระหว่างBEGIN TRAN; COMMAND(s); COMMITอะไร ฉันถามเพราะเห็นได้ชัดว่าคุณสามารถย้อนกลับธุรกรรม แต่คุณไม่สามารถย้อนกลับคำสั่งมาตรฐาน (ในโหมดการกู้คืนเต็ม) ฉันเดาว่าระหว่างการทำธุรกรรมเนื้อหาที่ถูกบันทึกลงในไฟล์ LDF นั้นแตกต่างจากการบันทึกการกู้คืนแบบเต็มปกติ นั่นถูกต้องใช่ไหม? แตกต่างกันอย่างไร เป็นเพียงการรวมการดำเนินงาน "เลิกทำ" สำหรับแต่ละการกระทำหรือไม่ ในบันทึกที่เกี่ยวข้องฉันได้ยินมาว่ามีเครื่องมือเชิงพาณิชย์สำหรับ "การย้อนกลับ / เลิกทำ" คำสั่งมาตรฐานโดยใช้ไฟล์ LDF สำหรับการกู้คืนแบบเต็ม พวกเขาทำมันได้อย่างไร? พวกเขาวิเคราะห์เนื้อหาของ LDF หรือไม่และพยายามทำสิ่งที่ตรงกันข้าม / เลิกทำหรือไม่?

2
กู้คืนไฟล์ bak ไปยังไฟล์ฐานข้อมูล mdf และ ldf ที่เล็กกว่า
ฉันมีฐานข้อมูลดั้งเดิมที่ขาดการออกแบบที่น่ากลัวฉันจะไม่เข้าไปที่นี่ แต่ไฟล์บนเซิร์ฟเวอร์นั้นมีขนาดใหญ่มาก ฉันมี: MyDatabase.mdf: 24.8GB MyDatabase.ldf: 114.6GB ฐานข้อมูลนี้ถูกสำรองข้อมูลเป็นไฟล์. bak ทุกคืนและส่งไปยังเซิร์ฟเวอร์รายงานของเราซึ่งมีการกู้คืน ไฟล์. bak มีขนาดเล็กกว่ามากเพียง 1.8GB อย่างไรก็ตามเมื่อฉันพยายามกู้คืนบนเซิร์ฟเวอร์การรายงานมันล้มเหลวเนื่องจากมีพื้นที่ไม่เพียงพอ เซิร์ฟเวอร์มีพื้นที่ว่างประมาณ 100GB และพยายามทำลายไฟล์ทั้งหมดที่ใช้งานบนเซิร์ฟเวอร์ดั้งเดิม 139.4GB เว้นแต่ว่าฉันรู้ว่าการบีบอัดผิดอย่างน่ากลัวฉันค่อนข้างมั่นใจว่าไฟล์ 1.8GB นั้นไม่ได้เพิ่มขึ้น 7400% คำถามของฉัน: มีวิธีใดที่จะบอกให้ SQL Server กู้คืนไฟล์ข้อมูลสำรองนี้โดยไม่ต้องจองพื้นที่ล่วงหน้า ฉันไม่สนใจเกี่ยวกับบันทึกใด ๆ ฉันแค่ต้องการข้อมูลเพื่ออยู่ที่นั่น ฉันเข้าใจฐานข้อมูลจากมุมมองการพัฒนาและสคีมา แต่ฉันไม่เคยใช้ DBA ประเภทใดเลย นี่คือบน SQL Server 2008 R2 ขอบคุณสำหรับความช่วยเหลือหรือคำแนะนำ

3
กู้คืน MySQL Tables จากไฟล์. ibd, .frm และ mysqllogbin
ด้วยเหตุผลบางอย่างเมื่อฉันพยายามเปิดตารางของฉันที่เก็บไว้ใน.frmและ.ibdไฟล์ (ไม่ว่าจะใน MySQL หรือ phpmyadmin) มันทำให้ฉันมีข้อผิดพลาดทางไวยากรณ์หรือมันบอกว่ามันไม่มีอยู่ ฉันได้อ่านโพสต์อื่นที่มีปัญหาคล้ายกันนี้ แต่ฉันไม่ทราบวิธีตรวจสอบว่าinnodb_file_per_tableเปิดใช้งานหรือไม่และโดยรวมฉันสับสนจริงๆ ฉันแปลงสำเนาmysql-bin.000002ไฟล์เป็นไฟล์ txt ด้วยดังนั้นฉันเห็นว่าข้อมูลจากฐานข้อมูลของฉันไม่สูญหายทั้งหมด ฐานข้อมูลถูกสร้างขึ้นเมื่อปีที่แล้ว ฉันมีmysql-bin.00000ไฟล์เหล่านี้ 6 ไฟล์ แต่ด้วยเหตุผลบางอย่างไฟล์.000002ใหญ่ที่สุด ตอนนี้ฉันมี.ibdและ.frmไฟล์สำหรับฐานข้อมูลทั้งหมดของฉัน แต่ฉันกำลังสูญเสียว่าฉันสามารถคืนค่ากลับสู่ MySQL หรืออย่างน้อยก็เป็นสิ่งที่ฉันสามารถอ่านได้ ฉันใช้ WampServer 2.4 และ MySQL 5.6.12 บน Windows 2003 Server นอกจากนี้ฉันควรจะดาวน์โหลดปลั๊กอินใน InnoDB ด้วยหรือไม่

2
ชาติเด็กกำพร้าคืออะไร?
สาขามีการอธิบายในคำตอบให้กับคำถามอื่นบนเว็บไซต์นี้ คำตอบที่กล่าวถึงการแปลงร่างเป็น 'กำพร้า': ... มีปัจจัยอื่น ๆ ที่ส่งผลให้เกิดองค์กร ORPHANED และการสำรองข้อมูล OBSOLETE ... ฉันเห็นจากเอกสารของออราเคิลที่V$DATABASE_INCARNATIONมีSTATUSคอลัมน์ที่สามารถมีค่าของORPHAN, CURRENTหรือPARENTที่จะต้องเกี่ยวข้อง อะไรคือ 'เด็กกำพร้า' แปลงและสิ่งที่ขั้นตอนที่จะส่งผลในแถวด้วยSTATUS= ORPHANในV$DATABASE_INCARNATION?

1
ไม่สามารถกู้คืนได้ (ข้อผิดพลาด 3456)
ฉันมีสถานการณ์ที่ไม่สามารถเข้าใจได้ง่ายและคิดว่าฉันจะถามในฟอรัมนี้หากผู้อื่นอาจมีคำแนะนำ ฉันใช้ SQL Server 2008 R2 SP3 มาตรฐานบน Windows Server 2008R2 Enterprise ฐานข้อมูลต้องการการบำรุงรักษาและหลังจากที่ฉันต้องกู้คืนบนเซิร์ฟเวอร์อื่น ฉันมีการสำรองฐานข้อมูลเต็มรูปแบบโดยใช้ COPY_ONLY บวกชุดสำเนาสำรอง 4 ชุด ก่อนที่จะเริ่มสร้าง tlogbackup1 เปลี่ยนจากFULLเป็นBULK_LOGGEDโมเดลการกู้คืน เพิ่มกลุ่มไฟล์ใหม่ เพิ่มไฟล์ไปยัง newfilegroup ตั้ง newfilegroup ให้เป็นค่าเริ่มต้น เลือกลงในตาราง (ใน newfilegroup) วางตารางต้นฉบับ ลบไฟล์ต้นฉบับ ลบกลุ่มไฟล์ดั้งเดิม เปลี่ยนชื่อของตารางใหม่เพื่อให้ตรงกับตารางเดิม เปลี่ยนชื่อไฟล์ของ newfilegroup เพื่อให้ตรงกับกลุ่มไฟล์ดั้งเดิม เปลี่ยนชื่อไฟล์ในแค็ตตาล็อกเพื่อให้ตรงกับชื่อไฟล์ต้นฉบับ เปลี่ยนชื่อไฟล์ที่ระดับ OS เพื่อให้ตรงกับชื่อไฟล์ต้นฉบับ กำหนด filegroup เริ่มต้นให้เป็นต้นฉบับ นำ db ออนไลน์ เปลี่ยนจากBULK_LOGGEDเป็นFULLโมเดลการกู้คืน หลังจากเสร็จสิ้นทุกขั้นตอนให้สร้าง tlogbackup2 …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.