Temp DB Taşıması

Merhabalar Arkadaşlar , Bu yazımızda yine sistem veri tabanlarından birisi olan TempDB taşınmasından bahsedicez.
Zaman zaman Disk büyümesi ,Daha performanslı disklere geçiş gibi sebeplerden dolayı taşımalar meydana gelebilir. TempDB 'de diğer bir sistem veritabanı olduğu için move edilmesi farklıdır. Master DB taşıması gibi bize strese sokmadan bir iki ALTER komutu ile bunu yapabiliriz..

Adımları
Taşıyacağımız ortam "E" diski altında "SQLDATA" adlı klasör olduğunu farz edelim.
use master
go
Alter database tempdb modify file (name = tempdev, filename = 'E:\SQLDATA\tempdb.mdf')
go
Alter database tempdb modify file (name = templog, filename = 'E:\SQLDATA\templog.ldf')
go
Komutu ile yeni data fileları "E" diski altına yaratmış olduk.

Servis stop-start ile SQL Temp db olarak yeni taşınan yerde yazmaya ve loglamaya başlamış olur.

Kolay gelsin

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)


Ara