Mssql'de (Sql serverda) Silinen Verileri Geri Getirme
Merhabalar Arkadaşlar,

Bu makalede sizlere silinen mssql (Sql server) da silinen verileri geri getirmekten bahsedicem.

Öncelikle amacımızın silinen veritabanını sisteme tekrar geri tanıtmak olmadığını belirteyim. Burada sizlere bahsedeceğim konu daha çok veritabanı içerisinde silinmiş bir verinin geri nasıl getirilebileceği ile ilgili.

Sizler de biliyorsunuz ki normalde bir sql komutunu çalıştırıp commit ettiğinizde o sorgunun geri dönüşü yoktur.

Yani dete from xxx dediğinizde size hiç bir komut xxx tablosundaki verileri geri getiremez veya update xxx set title = 'yy' dediniz ve where sorgusu eklemeyi unuttunuz. Yine size hiç bir sql komutu verilerinizi geri getiremez.
Şu şekilde düşünün.

Büyük bir veri tabanınız var, yedeğiniz yok. Yanlışlıkla bir tabloyu drop ettiniz veya yanlışlıkla bir tabloyu komple sildiniz. Hatta yanlışlıkla tüm kayıtları update etmiş bile olabilirsiniz bu pek fark etmiyor.

Sizlerin de bildiği gibi mssql'de normal database'in dışında yapılan işlemleri kayıt altında tutan bir log database'i daha bulunmakta.

Burada yapmış olduğunuz tüm update, insert, delete, drop gibi komutlar ve sonuçları loglanmakta.

Bizim yapacağımız işlem ise bu veritabanındaki verileri geri getirmek. Bunun için aslında çok uğraşmayacağız.

Bunun en kolay yolunu zaten ApexSQL firması gerçekleştirmiş. Bizim yapacağımız tek işlem bu programı kullanmak. Programın kullanımı son derece basit, kurulum işlemini yaptıktan sonra geri almak istediğiniz database'deki kayıtları işaretleyip, geri al diyorsunuz.

Bu komutu verdiğinizde kendisi otomatik olarak size update, insert vs.. ilgili sql komutlarını oluşturuyor. Warning verebilir bunları pek umursamanız gerekmiyor. Error verdiği satırlar da olabilir bu satırları dikatli inceleyerek yine de çalıştırabilirsiniz. Kendi manageri üzerinden çıkan sql sorgularını çalıştırıp silinmiş, güncelenmiş verilerinizi geri getirebilirsiniz.

Tabii ki bu program ücretsiz değil. ApexSql'in size Log programı gerekli bu da yaklaşık 1.500$ civarında.

İlgili programın ücretsiz halini ise torrente veya internette "apexsql bundles 2011" diye aratmanız yeterli.

Veritabanını içinde işlem yapmadan direk sildiyseniz "recruva" isimli programla veritabanınızı geri getirmeyi deneyebilirsiniz.

Her zaman için unutmamanız gereken en önemli konu ise "Yedek Almak! :)"