2008-01-18

Suspect Moddaki SQL Server Veritabanını Kurtarma

Restore SQL Server 2005 Suspect Database

Birkaç gün önce suspect olmuş bir SQL Server 2005 veritabanını kurtarmak için epey uğraştım. Kurtarmaya çalıştığım veritabanı replikasyon için oluşturulan Distribution veritabanı idi. Ne veritananına erieşbiliyordum ne de üzerinde birazdan bahsettiğim komutları çalıştırabiliyordum. Data dosyası CRC hataları ile doluydu ve tüm uğraşlarım sonucu replikasyon ayarlarını uçurup yeniden yapmak zorunda kaldım:( Benzer durumlar ile karşılaşacak arkadaşlar aşağıdaki komutları denemeden veritabanınızı gözden çıkarmayın.

Suspect durumuna düşmüş bir SQL Server veritabanınızı; veri kayıplarını da gözönüne alarak aşağıdaki komutları ard arda çalıştırarak kurtarabilirsiniz:

EXEC SP_RESETSTATUS 'VeritabaniAdi';

ALTER DATABASE VeritabaniAdi SET EMERGENCY

DBCC CHECKDB(
'VeritabaniAdi')

ALTER DATABASE VeritabaniAdi SET SINGLE_USER WITH ROLLBACK IMMEDIATE

DBCC CHECKDB ('VeritabaniAdi', REPAIR_ALLOW_DATA_LOSS)

ALTER DATABASE VeritabaniAdi SET MULTI_USER

T-SQL Kod Kaynağı: CodeProject

57 yorum:

  1. allah razı olsun işe yarıyor çok sağol

    Erkan ÇELİK

    YanıtlaSil
  2. Cümlemizden; işe yaradığını görmek ne güzel.

    YanıtlaSil
  3. BESHIM
    Ellerini ve aklına emeğine sağlık...

    YanıtlaSil
  4. Hatice
    Teşekkürler, benim işime de yaradı...

    YanıtlaSil
  5. Hocam çok teşekkür ederim. Benimde işime yaradı.

    YanıtlaSil
  6. Peki bu komutları nereye gireceğiz? İlginiz için teşekkürler. Lütfen ayrıntılı yazın acemiyim.

    Saygılarımla.
    Şafak ÖZEN.

    YanıtlaSil
  7. SQL Server Management Studio aracılığıyla Query(Ctrl+N) arayüzünü kullanabilirsiniz.

    YanıtlaSil
  8. Çok teşekkürler Mehmet Bey,
    gerçekten çok teşekkürler..

    YanıtlaSil
  9. Allah razı olsun yemin ediyorun direkten döndük yaneee ..:))) gidiyodu DB

    YanıtlaSil
  10. Merhaba Hocam şu anda bir abinin işini yapıyorum. Vmware esxi kurdum. serverin acornis ile image aldım hersey ok server bakarken birde baktımki Databesi elimize aldık dedimki mahvolduk :(
    database suspect olmuş hemen acil yardım sizin site Allah razı olsun
    Database kurtuldu..
    :)
    www.keyfistan.com

    Süleyman

    YanıtlaSil
  11. Hocam çok teşekkür ederim. çok işime yaradı sağolun.

    www.kamsis.com

    YanıtlaSil
  12. 4 yıl önce paylaştığım bir T-SQL kodun hala zor durumda kalan insanların işine yaradığını görmek sevindirici. Rica ederim.

    YanıtlaSil
  13. Hocam elleriniz dert görmesin. Hakikâten kurtarıcım oldunuz. Çok teşekkürler...

    YanıtlaSil
  14. Hakikaten Allah razı olsun. Çöken BES server'ımı sayenizde ayağa kaldırdım. Beni çok büyük bir dertten kurtardınız.
    www.celiklerholding.com.tr
    Metin Aykut

    YanıtlaSil
  15. Yararlı olabildiysek ne mutlu bize, cümlemizden.

    YanıtlaSil
  16. Valla Gönülden Allah Razı olsun. Çok büyük bir sıkıntıdan kurtardınız.
    Şuanda yaşadığım rahatlama tasvir edilemez.

    YanıtlaSil
  17. Hocam Allah razı olsun, ne muradınız varsa versin yüce yarabbim.

    YanıtlaSil
  18. çok teşekkür ederim, bizim sorunumuzu da çözmüş durumda. Bilgilerinizi paylaştığınız için tekrar teşekkürler, Allah razı olsun.

    YanıtlaSil
  19. Selamlar.

    Benimde kurtarmam gereken otomasyon programı verisi sql 2000 mdf ve ldf var ama açılmıyor.Recovery sql lerle açıyorum fakat save etmiyor.Verdiğiniz komutu database attach değilkenmi nasıl yazacağız anlayamadım. Çaresiz kaldım. Yardım alabilirmiyim. Şimdiden teşekkürler.


    EXEC SP_RESETSTATUS 'pumpdata.mdf';

    ALTER DATABASE pumpdata.mdf SET EMERGENCY

    DBCC CHECKDB('pumpdata.mdf')

    ALTER DATABASE pumpdata.mdf SET SINGLE_USER WITH ROLLBACK IMMEDIATE

    DBCC CHECKDB ('pumpdata.mdf', REPAIR_ALLOW_DATA_LOSS)

    ALTER DATABASE pumpdata.mdf SET MULTI_USER


    verdiğim komut ve cevabı.

    YanıtlaSil
  20. Veritabanı Adı yerine veritabanı dosya adlarını yazmışsınız. Veritabanı dosya adları yerine veritabanınızın adını yazıp tekrar deneyebilirsiniz.

    YanıtlaSil
  21. Merhaba,
    bendede suspect olmuş bir database var, ancak çok akıllı bir arkadaşımız bunu detach etmiş , bunun için bir çözüm varmı? attach olmuyor .

    YanıtlaSil
  22. Merhaba,
    Aynı isimde ve aynı data ve log dosya adına ait vir veritabanı oluşturun. SQL Servisini durdurup attach olmayan veritabanınızın dosyalarını oluşturduğunu geçici veritabanı dosyalarının bulun yere kopyalayıp bu dosyaları ezip SQL server servisini başlatmayı deneyin.

    YanıtlaSil
  23. YAV NE MUBAREK BIRISINIZ SIZIN SAYENIZDE AZ BIRSEYLER BILDIGMIZI SQLDEN SIMDI DAHA BIR BILGI SAHIBI OLDUK VE BU ISTEN EKMEK PARAMIZI KAZANMAKTAYIZ ALLAH SIZDEN RAZI OLSUN ALLAHA EMANET..

    YanıtlaSil
  24. Allah razı olsun herkes datasını kurtarmış. konuda çok eski ama bende aynı komutları yazdım 4 gündür bekliyorum hala bi sonuç yok nerde yanlışlık var yardımcı ola bilirmisiniz.

    YanıtlaSil
  25. kullandığımız programı kuran firma yüzünden backup yoksa yeni data oluşturulacak diyorlardı ve ben 3 ya da 5 yıllık mağaza verilerini kendilerinden çöpe atıp yeni sayfa database açıyordum. Bu komut sayesinde 2 mağazayı eski haline döndürdüm. Bu komut harika oldu. Süper. Teşekkürler.

    YanıtlaSil
  26. Merhaba.
    Ben sql 2008 de suspect olmuş veri tabanında bu komutları kullanmaya çalışıyorum.Fakat DBCC CHECKDB('veritabanı')komutunu çalıştırdığımda "Msg 8921, Level 16, State 1, Line 1
    Check terminated. A failure was detected while collecting facts. Possibly tempdb out of space or a system table is inconsistent. Check previous errors."
    hatasını veriyor.Acaba bunun anlamı nedir.Yardım ederseniz sevinirim.

    YanıtlaSil
  27. bu durumu kendi uygulamamızdan anlamamız mümkün mü? yani veritabanı bu duruma düşünce uygulama "bağlantı sağlanamadı" gerekçesi ile duruyor, bu durumda sistem tablolarını falan sorgulayarak veritabanımızın suspect duruma düşüp düşmediğini anlamak mümkün müdür?

    YanıtlaSil
  28. Öncelikle tüm tesekkkürler icin rica ederim. T-SQL kodlarin isinize yaramas1na sevindim.

    Sertay Sert:
    Temdb veritaban1n1n bulundugu diski kontrol eder misiniz? Diskte yer dolmus olabilir.

    YanıtlaSil
  29. Üstad sen soyadın gibi ne güzel bir insansın .çok teşekkür ederim.işimize yaradı .Bu zamana kadar kaybetmiş olduğumuz datalar için çok üzüldüm.
    keşke daha önce tanısaymışız seni .
    ellerine sağlık .

    YanıtlaSil
  30. Teşekkürler Mehmet BEY,
    Verdiğiniz bilgiler çok faydalı oldu.

    Kolay Gelsin..

    Turgay AVCI

    YanıtlaSil
  31. Kardeşim Kolay kolay yorum yazmam hatta hiç yazmam ama beni öyle bir şeyden kurtardın ki çağrı merkezine ait tüm raporter database' leri uçmuş durumdaydı ve komutlar sayesinde kurtardım eline koluna yüreğine sağlık eywallah.

    YanıtlaSil
  32. Teşekkürler Mehmet BEY,

    Elinize ve aklınıza emeğinize sağlık...

    YanıtlaSil
  33. 7 yıl olmus paylaşalı :) geleceği gormek gibi birsey. işe yarıyor. tesekkurler.

    YanıtlaSil
  34. Allah binbir razı olsun şu cuma gününde resmen hayatım bitiyordu

    YanıtlaSil
  35. Üstadım bende hayatımda nerdeyse ilk defa bir yorum yazıyorum şu cuma günü allah senden binbir kere razı olsun bütün benzin istasyonunun satışları uçacaktı

    YanıtlaSil
  36. Adı güzel kendi güzel kardeşim çok ama çok teşekkür ediyorum. Allahu teala razı olsun. Herşey vermekle azalır ilim vermekle çoğalır.Hasis olmadığın için insanlara faideli olduğun için Rabbim razı olsun kardeşim.

    Osman Nuri Bilen (onbilen)

    YanıtlaSil
  37. Allah cümlemizden razı olsun.

    YanıtlaSil
  38. acil acil hocam kolay gelsin sol orka muhasebe programı kullanıyoruz bilgisayarımız dondu ve açıldı açıldığında orka 2015 yılı ekim Kasım Aralık kayıtlarımız silindi mydiske verdik bize dediği verileriniz bozuldu ama düzeltilmesi lazim dedi bizde harddiski aldık bunun düzelme imkanı varmidir

    YanıtlaSil
  39. Düzenli backuplarınız var ise backup'lardan geri dönüş yapabilirsiniz.

    YanıtlaSil
  40. S.A. yıllar sonra bir teşekkür de benden... birkaç kaynaktan buldum ama ilk kez tam anlamı ile işime yaradı Allah rağzı olsun hocam...

    YanıtlaSil
  41. Bu güzel paylaşım için teşekkürler.

    YanıtlaSil
  42. Memet Bey MerabaLar;

    Suspect yemiş datam üzerinde klasik kurtarma komutlarını adım adım denedim. Suanda Datam Energy moddta. Fakat normal moda alamıyorum. Bu noktada kalmış ve tıkanmıs vaziyetteyim. SQL ver. 2008 R2
    Sizden yardımcı olmanızı rica edicem.

    YanıtlaSil
  43. İşime yaradı, teşekkür ederim.

    YanıtlaSil
  44. Hayat kurtardı. Çok teşekkürler

    YanıtlaSil
  45. Selam Ben suspect mododan cikardim ama data halen duzelmiyor hatalar var

    YanıtlaSil
  46. yıl olmuş 2020 ama sen hala hayat kurtarıyorsun hocam teşekkürler.

    YanıtlaSil
  47. İşinize yaramasına sevindim. Bizler ancak vesile olabiliriz. Rica ederim.

    YanıtlaSil
  48. Üstad Allah razı olsun. Kurtardık DB yi eline emeğine sağlık.

    YanıtlaSil
  49. Teşekkürler, zaman geçse de komutlar işe yaradı.

    YanıtlaSil
  50. Hocam çok teşekkürler sql 2008 de işe yaradı

    YanıtlaSil
  51. İbrahim KonmaSalı, 16 Ocak, 2024

    Hocam tek bir şey diyeceğim. Allah sevdiklerine bağışlasın.

    YanıtlaSil
  52. 16 sene önce yayınlamışsın hala insanların işine yarıyor ve ne güzel hayır dua alıyorsun.

    Allah gönlünden geçen ne hayır muradın varsa sana versin kardeşim. İşin rast gitsin, kazancın bol ve berekli olsun

    YanıtlaSil

Lütfen yorumlarınızda Ad Soyad ve Web sayfanızın adresini girelim!