Veritabanını Offline Olarak Set Etmek mi? Detach Etmek mi? Ya da Read Only Yapmak mı?

19 Eki by NURULLAH ÇAKIR

Veritabanını Offline Olarak Set Etmek mi? Detach Etmek mi? Ya da Read Only Yapmak mı?

Bazen veritabanını bir instance üzerinden başka bir instance’a taşımamız gerekir. Ama eski veritabanımızı da hemen silmeye cesaret edemeyiz. Bir süre eski instance’ta kalmasını tercih ederiz. Bir sorun olması durumunda da hemen eski veritabanını tekrar ayağa kaldırabileceğimiz için iyi bir yöntemdir. Ama uygulamanın yanlışlıkla eski veritabanına gitme riski vardır. Eski instance üzerindeki login’i disable etseniz bile bir şekilde eski veritabanının kullanılamayacağından emin olmanız gerekir.

 

Böyle bir durumda veritabanını detach edebilirsiniz. İsmini değiştirip Read Only Mode’a çekebilirsiniz. Ben offline’a çekmeyi tercih ediyorum ve en güvenli yol olarak görüyorum.

 

Yöntem1: İsmini değiştirip Read Only Mode’a çekmek için aşağıdaki script’i kullanabilirsiniz.

ALTER DATABASE [AdventureWorks2014] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
EXEC sp_renamedb 'AdventureWorks2014','AdventureWorks2014Yeni'
GO
ALTER DATABASE [AdventureWorks2014Yeni] SET READ_ONLY WITH NO_WAIT
GO
ALTER DATABASE [AdventureWorks2014Yeni] SET MULTI_USER WITH ROLLBACK IMMEDIATE

Yöntem2: Detach etmek için SSMS üzerinde aşağıdaki gibi veritabanı üzerinde sağ tıklayarak Tasks->Detach diyebilirsiniz.

 

Ama detach etmeden önce tekrar attach etme ihtimaline karşı veritabanı dosyalarının hangi path’de olduğunu aşağıdaki sorguyla öğrenip bir yere kaydetmeniz gerekir.

select * from sys.master_files where database_id=DB_ID('AdventureWorks2014')

AdventureWorks2014 
D O ASPNETDB 
Database 
Tables 
Views 
Synonyms 
New Databasem 
New Query 
Script Database as 
Tasks 
Detachm

 

Yöntem3: Veritabanını offline’a çekebilirsiniz. Aşağıdaki script yardımıyla bu işlemi gerçekleştirebilirsiniz. Ben bu yöntemi kullanıyorum.

ALTER DATABASE [AdventureWorks2014] SET OFFLINE WITH ROLLBACK IMMEDIATE

Tekrar online hale getirmek istersenizde aşağıdaki script’i kullanabilirsiniz.

ALTER DATABASE [AdventureWorks2014] SET ONLINE

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir