Veritabanına İkinci Log Dosyası Eklemek
Genellikle veritabanında bulunan ldf uzantılı log dosyamızın olduğu diskte yer kalmadığı zaman yaptığımız bir işlemdir. Başka bir disk üzerinde ikinci bir log file’ı oluşturarak veritabanının log işlemlerinin buradan devam etmesini sağlarız.
“SQL Server Transaction Log Nedir” isimli makalemde log dosyası ile ilgili detaylı bilgi bulabilirsiniz.
Konunun daha net anlaşılabilmesi için SQL Server’ın log dosya ya da dosyalarına hangi mantıkta yazdığından bahsedeyim.
Öncelikle ilk log dosyasının auto growth’u açık mı, açıksa log dosyasının olduğu diskte yeterli alan var mı ya da log dosyası maksimum büyüklüğüne ulaşmış mı(bir log dosyasının boyutu maksimum 2 TB olabilir) bunları kontrol eder. Eğer ilk log dosyasına yazabiliyorsa her zaman ilk log dosyasına yazar. İlk log dosyasına yazma ihtimali yoksa diğer log dosyasına yazma işlemi yapar.
Yani bir veritabanında 5 tane log dosyası oluşturduğunuzda 5 farklı diske aynı anda log yazma işlemi gerçekleşmez. Dolayısıyla data file sayısını arttırdığımızda elde ettiğimiz performansı log dosya sayısını arttırarak elde edemeyiz.
Birden fazla log dosyası varsa veritabanının o anda kullanmasını istediğiniz log dosyasının auto growth’unu açık hale getirip diğer log dosyalarının auto growth’unu kapalı hale getirebilirsiniz. Aynı işlemi data file’lar içinde gerçekleştirebilirsiniz. “Disklerde Yer Kalmadığı Zaman Veritabanını Başka Bir Diskten Büyütmek” isimli makalemde gerekli ayrıntıları bulabilirsiniz.
Gelelim veritabanına ikinci bir log dosyası oluşturma işlemine:
Veritabanı üzerinde sağ tıklayarak aşağıdaki gibi properties diyoruz.
Daha sonra Files sekmesine gelerek karşımıza çıkan ekranda sağ alt köşeden Add diyoruz.
Aşağıdaki ekranda görüldüğü gibi Logical Name kısmından yeni oluşturacağımız log dosyasına bir isim veriyoruz. Ben TestYeniLog ismini verdim.
File Type kısmından bu yeni ekleyeceğimiz dosyanın Log dosyasını olacağını belirtmek için LOG seçeneğini seçiyoruz. Log seçeneğini seçtiğimiz anda Filegroup Not Applicable olarak değişiyor. Çünkü Log dosyasınının file group’u olmaz.
Oluşturacağımız dosya için başlangıç boyutu belirlemek için Initial Size kısmına istediğimiz değeri yazıyoruz.
Autogrowth/Maxsize kısmından ise dosyanın büyümesi gerektiğinde ne kadar büyüyeceğini belirliyoruz. İlerde performans problemi yaşamamanız için autogrowth’u belirlerken çok dikkatli olmalısınız. “Vlf(Virtual Log File) count nedir” isimli makalemde bu konunun detaylarına değindim.
Bütün işlemlerimiz bittikten sonra ok diyoruz. Eğer veritabanının ilk log dosyasını değilde sadece ikinci log dosyasını kullanmasını istiyorsak, ilk log dosyası olan Test_log isimli dosyada Autogrowth/Maxsize ‘ın hemen yanındaki … ‘ya tıklayarak aşağıdaki gibi Enable Autogrowth’daki tik’i kaldırarak ilk log dosyasının autogrowth(otomatik büyüme)’unu kapatabiliriz.