Filegroup’u Read Only Yapmak
Filegroup ile ilgili detaylı bilgi almak için “Veritabanı Oluşturmak Deyip Geçmeyin!” isimli makalemi okumanızı tavsiye ederim. Özellikle büyük ve partition yapılmış veritabanlarında filegroup’ları read only mode’a çekme ihtiyacı duyarız. “Partition Oluşturmak” isimli makalemde nasıl partition oluşturacağınızı görebilirsiniz.
Veritabanı üzerinde sağ tıklayarak properties diyoruz ve filegroups sekmesine gelip aşağıdaki gibi istediğimiz filegroup’u read-only mode’a alıyoruz.
Eğer veritabanı üzerinde aktif session varsa aşağıdaki gibi hata alırsınız.
Bu hatayı almamak için yaptığımız değişikliğin script’ini yukardaki ekran görüntüsünde Script yazan yere tıklayarak alıyoruz ve script’in başına ve sonuna aşağıdaki gibi eklemeler yaparak tekrar çalıştırıyoruz.
USE [Test] GO ALTER DATABASE Test SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO declare @readonly bit SELECT @readonly=convert(bit, (status & 0x08)) FROM sysfilegroups WHERE groupname=N'READONLYFILEGROUP' if(@readonly=0) ALTER DATABASE [Test] MODIFY FILEGROUP [READONLYFILEGROUP] READONLY GO USE [master] GO declare @readonly bit SELECT @readonly=convert(bit, (status & 0x08)) FROM sysfilegroups WHERE groupname=N'READONLYFILEGROUP' if(@readonly=0) ALTER DATABASE [Test] MODIFY FILEGROUP [READONLYFILEGROUP] READONLY GO ALTER DATABASE Test SET MULTI_USER WITH ROLLBACK IMMEDIATE GO