Master Database Nasıl Restore Edilir ?

Merhabalar,

Bugünkü yazımızda diğer veritabanı restore işlemleri ile aynı süreç izlendiğinde hata veren, SQL Server için kritik bilgileri tutan master veritabanını nasıl restore edebileceğimizi aktarmaya çalışacağım.

Bildiğimiz üzere SQL Server kurulumu sonrası bazı veritabanları otomatik olarak oluşturulmaktadır. System databases sekmesinin altında yer alan ve içerisinde master, model, msdb, tempdb gibi veritabanlarını barındıran bu bölümden master db yi seçerek restore işlemi gerçekleştireceğiz.

Master veritabanı, server seviyesindeki tüm bilgileri tuttuğundan dolayı oldukça önemlidir. Bu bilgilere ek olarak,

Konfigürasyonlar

Login bilgileri

Endpoint bilgileri

Veritabanı dosyalarının yolları

gibi sunucu erişimi ve veritabanı yönetimi konusunda ihtiyaç duyulan dosyaları da barındırmaktadır. Bu derece kritik bilgileri sakladığı için master veritabanı olmadan SQL Server çalıştırılamaz. Bu sebeple de periyodik olarak yedeklerinin alınması gerekmektedir.

Yedekleri alıyoruz iyi hoş ama oldu da bir sorunla karşılaştık ve aldığımız backuplardan birini restore etmemiz gerekiyor.

Ve bingo!

Aldığımız yedeği restore etmeye çalışırken bir hata aldık. Hata mesajında ise master veritabanını restore etmek istiyorsak single user modunda çalışmamız gerektiğini belirtiyor.

İşlemi gerçekleştirmeden önce single user ile alakalı birkaç detay aktarmak istiyorum. Single user mod ile SQL Server instance’a sadece bir kullanıcı bağlanabilir. Erken kalkan yol alır misali bu tek bağlantıyı da ilk denemeyi yapan sağlayacaktır. Ve bağlantı yapılan o session kapanmadan da yeni bir bağlantıya izin verilmez.

Öyleyse hatada bahsedildiği gibi yapalım ve SQL Server’ı single user moduna alalım.

 SQL Server Management Studio’yu kapatıyoruz. Ardından bilgisayarımızda/sunucuda kurulu olan SQL Server Configuration Manager’ı açıyoruz ve SQL Server Services kısmına geliyoruz.

Daha sonra SQL Server hizmetine sağ tıklıyoruz ve Özellikler dedikten sonra açılan menüden Startup Parameters tabına geçiyoruz.

Parameters olarak -m yazıyoruz ve Add butonuna tıklayarak ekledikten sonra Tamam diyerek menüyü kapatıyoruz.

Tamam’a tıkladıktan sonra değişikliğin geçerli olması için SQL Server hizmetini restart etmemizi isteyecek. SQL Server’a yine sağ tıklayıp Restart ediyoruz.

Artık SQL Server single mod erişime sahip oldu.

Bu noktadan sonra SQL Server’a bağlanmak için birçok yöntem mevcut. Fakat şu an SSMS ile bağlanmaya çalıştığımızda aşağıdaki gibi bir hata alıyoruz.

Artık tek connection hakkımız var ve onu da bizim kullanmamız gerekmektedir. SQL Server’a bağlanan tüm connectionları kapatmak vs gibi yöntemler kullanılabilir fakat production ortamında bu pek mümkün görünmemektedir. Bu sebeple farklı bir çözüm aramalıyız.

Şimdi Configuration Manager’a geri dönüp SQL Server Agent servisinin çalışıp çalışmadığından emin olmamız gerekmektedir. Eğer servis çalışıyorsa tek kullanıcı hakkımız da şu an kullanılıyor demektir. Agent servisini stop diyerek durduruyoruz. Daha sonra SSMS’e dönüyoruz.

Bu kez her zaman bağlandığımız şekilde 1 numaralı kısımdan de 2 numaralı kısımda yazan Database Engine Query’e tıklıyoruz ve o şekilde bağlanıyoruz. Bu alan aynı zamanda acil durumlarda connection sağlamak için DBA’ler tarafından kullanılan ve arka kapı görevi gören DAC bağlantısı açmamızı sağlar.

Ve açılan menü ile connection sağlıyoruz.

Artık restore etmek için gerekli tüm adımları gerçekleştirdik ve yapılabilecek tek session da bizim yapmış olduğumuz bağlantı oldu. Şimdi restore işlemi için hazırlamış olduğumuz scripti çalıştıralım.

Resimde görüldüğü üzere restore işlemi başarıyla gerçekleştirildi.

Yazının başında bahsettiğimiz gibi master db olmadan SQL Server çalışmaz. Bu nedenle herhangi bir hata bozulma vs olup olmadığının kontrol edilmesini tavsiye ediyorum. Bunu da

DBCC CHECKDB

komutu ile yapabiliriz.

İlave olarak master veritabanını restore ettikten sonra, restore edilen yedeğin ne kadar süre önce alınmış bir yedek olduğunu da göz önünde bulundurmalısınız. Server seviyesinde bazı değişiklikler ya da loginlerle ilgili bir değişiklik yapıldıysa bunların kontrollerini yapmak ve hatalı bir duruma karşı yeniden düzenlemek fayda sağlayacaktır.

Umarım faydalı bir yazı olmuştur.

Bir başka yazıda görüşmek üzere,

Hoşça kalın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir