Veritabanını Geri Yükleme Nasıl Silinir


14

SQL Server 2008 R2 ile günlük sevkiyatı yapıyorum.

Ikincil veritabanı sürücü alanı bitti ve günlük nakliye işlem günlükleri uygulama değildi bir durum var.

Bunu düzeltmek istediğim yol, ikincil alandaki veritabanlarını silmek ve günlük gönderimi sıfırdan yapılandırmaktır.

Şu anda sahip olduğum sorun, ikincil veritabanlarımın geri yükleme durumunda olması ve bunları silememem. Nasıl ilerleyebilirim?

Örneğin, onları çevrimdışına almaya çalışırsam hatayı alıyorum,

ALTER DATABASE is not permitted while the database is in the Restoring state.

geri yükleme veritabanında bir alter komutu veremezsiniz, bir bırakma yapmanız gerekir.
Jason Cumberland

Yanıtlar:


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

ya da sadece

RESTORE DATABASE dbname WITH RECOVERY

REPLACEVarolan veritabanının üzerine yaz, yalnızca varolan veritabanınızı geçersiz kılmak istediğinizden eminseniz, onu silmek istemediğinizde yapın

KURTARMA İLE GERİ YÜKLE, işlem görmeyen işlemleri geri alarak veritabanını kullanıma hazır hale getiren varsayılan davranıştır. Ek işlem günlükleri geri yüklenemez.

Bu, veritabanını çevrimiçi duruma getirmelidir. Ardından silebilir ve tekrar deneyebilirsiniz.


Söylediklerinin işe yaraması gerektiğine inanıyorum. Benim çözüm olsa sql hizmetini yeniden başlatmak ve sonra bundan sonra çalıştı veritabanlarını silmek oldu.
peter

true, hizmet kapalıyken işlem günlüklerini silmek her zaman yeni bir günlük oluşturur. tüm iyi
AmmarR

3

Bu sorunla yaptığım en iyi yol, bu komutu 'drop database [database name]' yazmak ve sonra aynı ada sahip yeni bir tane oluşturmak ve .bak dosyası bozuk veya hatalı olduğundan başka bir .bak dosyasından veritabanını geri yüklemektir.


Soruda bozuk yedeklemeler hakkında herhangi bir söz yoktur.
ypercubeᵀᴹ
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.