Arkadaşlar merhaba bugünkü makalemizde Exchange 2016 Recovery Database konusunu inceleyeceğiz,
Bir önceki makalemizde exchange server 2016 backup ve restore konusunu işledik , bu makaleyi okumadan önce backup ve restore makalesini incelemenizi tavsiye ederim.
Exchange 2016 Backup ve Restore işlemleri
Backup ve Restore makalesinde incelediğimiz gibi birkaç sorunumuz var ;
- Eğer loglari korursak mailleri güncel duruma getirebiliyoruz fakat silinen mailleri kurtarma şansımız olmuyor.
- Eğer logları silersek silinen mailleri kurtarıyoruz fakat bu seferde tüm database de mailbox kullanıcılarının mailleri yedek alınan zamana dönuyor ve yedekten sonraki tüm mailler siliniyor.
- Mailleri restore ederken databasi durduruyoruz ve o database içindeki tüm kullanıcılar restore işlemi süresince maillerine erişemezler
Evet tüm bu sorunları Recovery Database ile çözüyoruz.
Recovery Database işlemini kısaca şöyle tanımlayabiliriz ;
- Restore işlemini alternatif bir yere yapıyoruz.
- Recovery Database oluşturuyoruz
- Mailbox restore request işlemi yapıyoruz
Evet öncelikle C ana klasorunde yedek diye bir klasor yapıyorum. Restore işlemini buraya yapacağım.
Evet restore işlemini başlatıyorum , ve alternatif lokasyona (C:\yedek) restore ediyorum.
Restore işlemimiz bitti. C:\yedekdb klasorunu incelediğimizde ;
Database file (arge.edb) ve logların geldiğini görüyoruz.
Evet sıra geldi bu database file ve logları Exchange Servera recovery database olarak bağlamaya ;
Bunun için Eseutil komutunu kullanacağım. Eseutil programı database tamir (repair) ve database düzenleme (database defrag) gibi işlemler için kullanıyoruz.
Eseutil komutu için komut satırını açıyorum (cmd.exe) ve yedek klasorune gidiyorum.
Öncelikle eseutil /mh “arge.edb” komutunu çalıştırarak , database file durumunu gorusuyoruz
Evet burda gördüğünüz gibi database “dirty Shutdown” (kirli kapanma) , bu durumdaki bir database file işlenemez ve mailbox database olarak Exchange servera eklenemez .
Eseutil /R E01 /I /D komutu yazarak database file “clean shutdown” durumuna getiriyoruz.
Evet komutumuz çalıştı ve database file son durumuna bakıyoruz , bunun için
Eseutil /mh “arge.edb” komutunu çalıştırıyorum
Evet database file “clean shutdown” durumunda ,artık işlenebilir durumda .
Şimdi sıra geldi Recovery Database oluşturmaya ;
Bunun için Exchange Shell ‘ de şu komutu yazacağız ,
New-MailboxDatabase -recovery -name “kurtardb” -server exchange-srv -EdbFilePath “C:\yedekdb\arge.edb” -LogFolderPaht “C:\yedekdb”
Bu komutla Exchange-srv adlı server üzerinde adı kurtardb olan bir Recovery Database oluşacak
Oluşan databasin çalışması için mount ediyoruz , bunun için
Mount-Database “kurtardb” diyoruz.
Ve Exchange Information Store Servisini restart ediyoruz.
Get-MailboxDatabase komutuyla Exchange Server üzerindeki tüm databaseleri göruyoruz.
Dikkat ediyorsanız sadece kurtardb databasinde Recovery
“True” gorunuyor.
Şimdi elimizde iki adet çalışan bir adet recovery database var ,
Get-MailboxStatistics -database “kurtardb” yazıyoruz , ve
Get-MailboxStatistics -database “arge” yazıyoruz ,
böylece istatistikleri göruyoruz ve gördüğümüz gibi elimizde Arge databesindeki kullanıcı “Mudur ” şuan aktif ve çalışıyor , birde Recovery Database içindeki “mudur” kullanıcısı ,
Sıra geldi Restore işlemine
New-MailboxRestoreRequest -Name “mudur” -SourceDatabase kurtardb -SourceStoreMailbox “mudur” -TargetMailbox “mudur” -TargetRootFolder “eskiyedekler”
Bu komutla Recovery Database içindeki Mudur kullanıcısının mailboxını Arge databasindeki Mudur kullanısının mailboxına “eskiyedekler” diye bir klasor oluşturup onun içine atıyoruz.
Hemen https:\\exchange-srv\owa ‘ya mudur kullanıcısı ile logon oluyoruz.
Gördüğünüz gibi eskiyedekler diye bir klasor olusmus ve içinde Mudur kullanıcısının backup ile alınan mailleri duruyor.
Boylece database durdurmamış olduk ve kimsenin maillerine dokunmadan istediğimiz kullanıcıların eski maillerini kurtarmış olduk.
İstersek aynı recovery işlemini şöyle de yapabiliriz.
Recovery işlemini başka bir mailboxa yapabiliriz ;
New-MailboxRestoreRequest -Name “mudur to cem” -SourceDatabase kurtardb -SourceStoreMailbox “mudur” -TargetMailbox “cem” -TargetRootFolder “mudurunyedekleri” -AllowLegacyDNMismatch
Bu komutla “mudur” kulllanıcısının maillerinı alıp “cem” kullanıcısının mailboxına “mudurunyedekleri” adlı bir klasore atacagız.
Komutumuz çalıştı ve gerekli recovery işlemi gerçekleşti ,
https:\\exchange-srv\owa bu sefer cem kullanıcısı ile logon oluyoruz ,
evet gordugunuz gibi mudur kullanıcısının backup anındaki mailleri cem mailbox gelmiş ve “mudurunyedekleri” klasorunde duruyor
Boylece Recovery Database kullanarak kullanıcıların aktif mailboxlarına ve databaselerine dokunmadan recovery işlemlerini yapmış olduk .
Artık Recovery Database ihtiyacımız yoksa o zaman databasi kaldırabiliriz.
Önce recovery database dismount yapıyoruz ,
Dismount-database kurtardb komutunu çalıştırıyoruz,
Ardından remove ediyoruz ,
Remove-MailboxDatabase kurtardb komutunu çalıştırıyoruz.
Evet Recovery Database makalemizin sonuna geldik ,
Faydalı olması dileğiyle