SQL Server Crash Senaryosu ve Veri Tabanı Kurtarma! (Full, Differential, Log Backup ile Adım Adım)

Bu videoda sizlere SQL Server da veri tabanı bozulduğunda kurtarma yöntemlerini anlatacağım.

Toplamda 3 farklı kurtarma senaryosu yapacağız.

Her senaryoda önce veritabanını kasıtlı olarak bozacağız, sonra yedeklerimizi kullanarak geri getireceğiz.

Yedeklerinizi hiç bir zaman SQL Server’ın bulunduğu bilgisayarın üzerinde tutmayın.
Umarım gerçekte böyle bir durumla karşılaşmazsınız.

Senaryo veri tabanı diskten okunamıyor.
Veri tabanını bozalım. Bunun için bir sorgu açalım.

ALTER DATABASE Uretim SET OFFLINE WITH ROLLBACK IMMEDIATE;

Veri tabanını offline duruma aldık.

Veri tabanı dosyalarını silelim.

Veri tabanını online duruma alalım.

ALTER DATABASE Uretim SET ONLINE;

Veri tabanı artık Recovery Pending (Kurtarma bekleniyor) durumdadır.

Şimdi Full Backup tan kurtarma yapalım.
Bunun için Task Restore Database seçiyoruz.
Device seçiyoruz. Sonra aldığımz Full Backup dosyasını ekliyoruz.
File bölümüde relocate ile veri tabanını başka bir konuma kurtarma yapabiliriz.
Hatta dosya isimlerini de değiştirebiliriz.
Options kısmında ise Overwrite ile var olan veritabanı üzerine yazabiliriz.
Restore durumunda ise WITH RECOVERY ile başka restore işlemleri olmayacağını söyleriz.
Bu işlemle veri tabanı kurtarıldı, yedek aldığımız güne döndü ve online duruma geçti.

Veri tabanını yine Recovery Pending (Kurtarma bekleniyor) duruma getirelim.
Bu kurtarma işleminin SQL komutu ile yazalım.

RESTORE DATABASE Uretim
FROM DISK = ‘C:\Yedek\Uretim.bak’
WITH RECOVERY, REPLACE;

Bundan sonraki kurtarma işlemlerini SQL komutları ile yapacağız.

Veri tabanını yine Recovery Pending (Kurtarma bekleniyor) durumda.

Full Backup ve Differantial Backuptan kurtarma yapalım.
Recovery Full sorgumuzu Recovery Differential sorgusu olarak kayıt edelim.
Daha önce full backup aldığımız ve sonrasında differential backup aldığımız dosyaların Full backup adını alalım.

Burada RECOVERY komutunu NORECOVERY olarak değiştiriyoruz.
Veri tabanı restoring kurtarılıyor durumuna geçer ve
diğer restore komutlarını bekler.

Şimdi sorgumuzu kopyalayıp aşağıya yapıştıralım.

Differential Backuptan sonra veri tabanına başka restore komutu uygulamayacağımız için NORECOVERY i RECOVERY yapıyoruz.

Şimdi Transaction Log Recovery yapalım.

Sorgumuzu Recovery Log olarak kayıt edelim.

Transaction Log dosya adını alalım. Uzantısını trn yapalım.

RECOVERY yi NORECOVERY yapalım ve çalıştıralım.

Transaction Log recovery de nokta dönüş yapılabilir.
Bunu WITH komutundan sonra STOPAT ile tarih ve saat hatta saniye veriyoruz.

Tam istediğimi tarih ve saate dönüş yapılır. Minimum veri kaybı..

RESTORE LOG Uretim
FROM DISK = ‘C:\Backup\Uretim_Log.trn’
WITH STOPAT = ‘2025-07-12 14:35:00’, RECOVERY;

Paylaş

Kingston Yetkili Satıcı
Sandisk Yetkili Satıcı
Samsung Yetkili Satıcı
WesternDigital Yetkili Satıcı