Cara Menghapus Memulihkan Database

14

Saya menjalankan pengiriman log dengan SQL server 2008 R2.

Saya memiliki situasi di mana drive basis data sekunder kehabisan ruang dan tidak menerapkan log transaksi pengiriman log.

Cara saya ingin memperbaiki ini adalah menghapus database di sekunder dan mengkonfigurasi pengiriman log dari awal.

Masalah yang saya miliki sekarang adalah bahwa database sekunder saya dalam keadaan memulihkan, dan saya tidak dapat menghapusnya. Bagaimana saya bisa melanjutkan?

Sebagai contoh jika saya mencoba untuk membuatnya offline saya mendapatkan kesalahan,

ALTER DATABASE is not permitted while the database is in the Restoring state.
Peter
sumber
Anda tidak dapat mengeluarkan perintah alter pada mengembalikan database, perlu melakukan setetes.
Jason Cumberland

Jawaban:

25
RESTORE DATABASE dbname 
FROM DISK = 'dbname .bak'
WITH REPLACE, RECOVERY --force restore 

atau hanya

RESTORE DATABASE dbname WITH RECOVERY

yang REPLACEMenimpa database yang ada, melakukannya hanya jika Anda yakin Anda ingin menimpa database yang ada seperti yang Anda sebutkan Anda tidak peduli untuk menghapusnya

KEMBALIKAN DENGAN PEMULIHAN adalah perilaku default yang membuat database siap digunakan dengan mengembalikan transaksi yang tidak dikomit. Log transaksi tambahan tidak dapat dipulihkan.

Itu harus membawa database online. Kemudian Anda dapat menghapusnya & coba lagi.

AmmarR
sumber
Saya percaya apa yang Anda katakan seharusnya berhasil. Solusi saya adalah me-restart layanan sql dan kemudian menghapus database yang berfungsi setelah itu.
peter
benar, ketika layanan tidak aktif, menghapus log transaksi akan selalu membuat yang baru. semua yang terbaik
AmmarR
3

Cara terbaik seperti yang telah saya lakukan dengan masalah ini adalah menulis perintah ini 'drop database [database name]' dan kemudian buat yang baru dengan nama yang sama dan kemudian pulihkan database dari file .bak lain karena file .bak rusak atau salah.

Ashar
sumber
Tidak ada disebutkan dalam pertanyaan tentang cadangan yang rusak.
ypercubeᵀᴹ