Always On Veri Tabanlarında Data File Taşımak

Always On üzerinde  veri tabanı data file’ını başka diske taşımak

  • Öncelikle herhangi bir terslik ihtimaline karşı elimizde yeni alınmış bir veritabanı ve log yedeği olmalı
  • Taşıma işlemi süresince yedek alma job’ları durdurulmalı
  • Secondary Node’da veri tabanına veri hareketi durdurulur 


  • Data hareketi durduğunda secondary sunucu üzerindeki veri tabanı “Not Synchronizing” durumuna düşer. Dashboard’dan görülebilir. Veri tabanını Always On’dan çıkartalım. Açılacak pencerede OK’a basalım

Veri tabanını Always On’dan çıkardıktan sonra secondary veri tabanında data file’ı yeni diske taşıyoruz. Secondary sunucuda  aşağıdaki komutu çalıştıralım:

ALTER DATABASE denemevt
MODIFY FILE (NAME = denemevt,
FILENAME = ‘C:\ndf\denemevt.mdf’);
GO

Bu komutu çalıştırdığımızda aşağıdaki uyarı ile karşılaşacağız:
The file “denemevt” has been modified in the system catalog. The new path will be used the next time the database is started.

  • Secondary sunucuda sql server servisini durduralım. Daha sonra data file’ı yeni lokasyonuna taşıyalım.
  • Secondary sunucuda veritabanına sağ tuşa basıp “join to availability group” diyerek veritabanını tekrar always on’a dahil edelim. Hata verirse servisi restart ettikten sonra tekrar deneyelim. Yeni diske ve dizine erişim sorunundan kaynaklanabilecek hatalar için Sql Server Servisini çalıştıran kullanıcıya data file’ın yeni klasörü için izin verelim.

  • Buraya kadar tamamladıktan sonra always on’u failover yapıp bu işlemleri yeni primary sunucu için de yapmamız gerekiyor.