คุณจะหยุดใช้ออฟไลน์และลบฐานข้อมูล SQL Server ในการกู้คืนได้อย่างไร


34

ฉันมีฐานข้อมูลการพัฒนาที่ได้เข้าสู่โหมดการกู้คืนเมื่อรีสตาร์ทและได้รับการกู้คืนในชั่วโมงสุดท้ายหรือมากกว่านั้น

ฉันจำเป็นต้องหยุดการกู้คืนหรือฆ่ามันด้วยวิธีใดวิธีหนึ่ง

ฉันไม่สนใจเกี่ยวกับฐานข้อมูลหรือข้อมูลใด ๆ เลยฉันมีสคริปต์การปรับใช้

ความคิดใด ๆ

คำตอบ:


47
  • หยุด SQL Server
  • ลบ MDF + LDF
  • เริ่ม SQL Server
  • คืนค่า (อาจต้องวางก่อนขึ้นมาสงสัย)

หาก MDF และ LDF แสดงอยู่ในบริการเริ่มทำงานจะเป็นการกู้คืนแบบย้อนกลับ / ย้อนกลับ คุณต้องวางพวกเขาเพื่อป้องกันสิ่งนี้


2
ถ้าคุณไม่สามารถหยุดเซิร์ฟเวอร์ sql เนื่องจากฐานข้อมูลอื่นที่ไม่ควรลง ไม่มีทางอื่นอีกแล้วเหรอ?
Erik Dekker

1
@ErikDekker อาจสายเกินไปที่จะได้รับการช่วยเหลือ แต่คุณยังสามารถเพียงแค่ถอดฐานข้อมูล
เบน Aaronson

1
นี่เป็นคำแนะนำที่สมบูรณ์แบบสำหรับสถานการณ์ของฉัน อินสแตนซ์ Dummy / dev-testing การกู้คืนฐานข้อมูลถูกขัดจังหวะตรงกลางต้องฆ่าให้สมบูรณ์และนำออกก่อนที่จะทำการกู้คืนใหม่ บิต "ต้องดรอปก่อน" คือเคล็ดลับ - หลังจากที่คุณหยุดบริการ SQL ลบไฟล์และเริ่มบริการ SQL แล้วฐานข้อมูลจะยังคงอยู่ใน Object-explorer แต่เพียงคลิกขวาที่ "ลบ" ( อาคาดร็อป) จะเสร็จสิ้น ขอบคุณ!
NateJ

1
ควรสังเกตว่าคุณไม่สามารถแยกฐานข้อมูลที่ติดอยู่ในสถานะการกู้คืน และคุณไม่สามารถแยกมันออกได้
Ian Boyd

สำหรับฉันด้วยฐานข้อมูลใน "Recovery Pending" และเซิร์ฟเวอร์มีพื้นที่ดิสก์เหลือน้อย (สาเหตุที่เป็นไปได้ของ "pending") การหยุด SQL Server ลบ mdf และ ldf จากนั้นการรีสตาร์ทเป็นวิธีเดียวที่จะส่งต่อ การใช้ฐานข้อมูลแยกจะไม่ทำงานสำหรับฉันกับฐานข้อมูลในสถานะรอการกู้คืน
Jeff Mergler

7
  1. คลิกขวาที่ฐานข้อมูลใน SQL Server Management Studio แล้วกดแยก
  2. เลือกช่องทำเครื่องหมายปล่อยการเชื่อมต่อเท่านั้นและกดตกลง
  3. จากนั้นฐานข้อมูลจะหายไป
  4. คลิกขวาที่โฟลเดอร์ฐานข้อมูลและคลิกแนบ ...
  5. คลิกเพิ่มและค้นหาไฟล์. mdf สำหรับฐานข้อมูลที่คุณลบ คุณจะต้องค้นหามันในระบบไฟล์
  6. คลิกตกลงแล้วมันจะกลับมาออนไลน์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.