SQL Server “Şüpheli” veritabanı?


40

Olarak işaretlenmiş bir veritabanına sahipseniz ne yaparsınız Suspect?

Son yedeklemeden geri yükle?

Tavsiye lütfen.

Yanıtlar:


41

İlk şey, bu veritabanını ÇIKARMADIĞINIZDAN emin olmaktır.

Bilinen son iyi yedeklemeden geri yüklemek sorun değil. Aksi takdirde ACİL onarım modunu kullanmanız gerekir (SQL 2005 veya daha üst bir sürümü çalıştırdığınızı farz ediyorum). İşte konuyla ilgili Paul Randal'dan birkaç mesaj. Herhangi bir işlem yapmadan önce ikisini de okuyun.

SUSPECT veri tabanı oluşturma, ayırma, yeniden takma ve sabitleme

ACİLLEŞTİRME modu onarımı: Çok, çok son çare


5

Neredeyse evet.

Genelde, dosyaların bollixed veya eksik olduğu veya bir disk hatası veya benzeri bir şey olduğu anlamına gelir (Kötü bir sektörün buna neden olduğunu gördüm).

Benim adım:

  • Tüm yedeklerin orada olduğundan emin olun
  • SQL Server'ı kapatın
  • SQL Server tarafından kullanılan diskleri chkdsk (inşallah C: elbette değil)

Düzenleme: Cevabımı netleştireceğim

  • eğer veriler önemliyse, bir yedeğim olur
  • tamiratlarla uğraşırken aksama süresi ve acil durum modu benim için çok uzun

5

2 şüpheli veritabanı vakası için bu konuda bir rehberlik yazdım: veri dosyasını veya günlük dosyasını kaybettiyseniz. Lütfen aşağıdakileri okuyun:


5
İşte size bir şey var: Gönderdiğiniz tüm linkler ise Stack Exchange çalışmaz. Yapmamız gereken, bağlantılardaki içeriği özetlemektir, yoksa cevabınızı silmek zorunda kalacağım (ve ardından temsilcisi kaybettiniz ve ikimiz de bunun olmasını istemiyoruz)
jcolebrand

4

Sorunuzdan, bir yedeğiniz var gibi görünüyor. DB'yi iyi bir yedekten geri yüklemek, DB'nizi çalışır durumda ve şüpheli durumdan çıkarmak için en kolay ve en hızlı yol olacaktır.


5
Ancak veri kaybedersiniz, işlem kayıtlarının bulunmamasıdır.
mrdenny

0

İlk tavsiyem; şüpheli veritabanını asla ayırma. Veritabanını güncelleştirilmiş yedeklemeden geri yüklemek yardımcı olur. Yedekleme mevcut değilse veya sorun yaşarsa, EMERGENCYmod yararlı olabilir:

Veritabanını acil durum moduna ayarlayın:

ALTER DATABASE DB_NAME SET EMERGENCY

Şimdi bununla veritabanı tutarsızlıklarını kontrol edin:

DBCC CHECKDB (‘DB_NAME’)

DBCC CHECKDB Repair izin veri kaybı seçeneği son çaredir. Sonuç veri kaybı olabilir, bu yüzden çalıştırmayı önermiyorum.

Ayrıca Referans 1 ve referans 2'yi de kontrol edin.

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.