Master DB Restore ve Master DB Taşınması

Merhaba , bu yazımızda Master veri tabanın taşınması hakkında konuşucağız. Oldukça belalı ve risk içeren bir işlem olması sebebi ile son derece dikkatle yapılması gereken bir işlemdir. Peki neden bu yola ihtiyaç duyabiliriz ? Yeni bir sunucuya geçilmesi yada master db in bulunduğu disklerin değiştirilmesi durumlarında olabilir.
Master veri tabanı SQL sunucumuz'un sistem veritabanı dır. Corrupt yada suspect olması durumunda veritabanı sunucusu açılmaz ve tüm sistemin çökmesine sebep olabilir..
Master veritabanının yeniden restore edilmesi için SQL server sunucumuz'un servislerinin durdurulması gereklidir. bunu da SQL Server Configuration Manager yada Windows services' dan yapabiliriz. Anlatacağım örnek de Primary server' dan Master db backup alıp secondary server olarak kabul ettiğim sunucuya restore yapacağız.

Öncesinde Dikkat edilmesi gereken hususlar
  • Restore yapılacak disklerin aynı harflerde olması önemlidir. Sebebi ise master db açıldık dan sonra temp db için pathlerini arıcak olmasıdır.
  • Yedeklerinin alınması. Önemli bir husus yedek alırken backup değil file taşınması daha doğru olacaktır, hata durumunda backup dan geri dönemeyiz.
Adımları
  • Servisler stop edilir.
  • Temp db path bilgileri ALTER edilir.
  • Single modda servis açılır.
  • Komut satırından gereken dosyaya ulaşıldıkdan sonra komut satırına(sqlservr.exe -m) yazıp devam ediyoruz.




Şimdi Master db geri yüklemesini yapabiliriz. Bunun için şu kodlama kullanılabilir.


RESTORE DATABASE master
FROM DISK = N"C:\m
aster.bak" WITH FILE = 1 GO

Bunu query analyzer dan yapıyoruz.
Yada





(Servicesler start edilir)
· SQL Server"ımızı normal modda tekrar başlatalım. Bu şekilde Master sistem veritabanını geri yüklemiş olduk.
· Master db ile gelen (primary serverdan) db ler suspect gelir.
· SQL Error loglardan hataları kontrol edebiliriz.
· Master db restorundan sonra server ismini rename etmek gerekiyor.
EXEC sp_dropserver 'old_name'
go
EXEC sp_addserver 'new_name', 'local'
Go
(Services ‘ler stop-start edilir)
· Msdb db altında sql server rename etmek gerekiyor.
select * from dbo.sysjobs
altın da
USE msdb
GO
update sysjobs
set origination_server 'new_name' where 'old_name'
(servicesler stop-start edilir)


Hiç yorum yok:

Ara