28 Aralık 2011 Çarşamba

MS SQL SERVER 2008 "Log Dosyasını Küçültmek"

                 Bu gün şimdiye kadar yazdığım yazılardan biraz farklı ve teknik bir konu hakkında yazı yazıcam.Konunun yetersiz yer sorunu çeken IT çalışanları ve Database sorumlularının çok işine yarıyacağından eminim. Firmalar maliyetlerini hesaplamaya, teknolojini verdiği destek ile en ince ayrıntısına kadar hesap etmek istemekdedir.Bu sebepten ötürü veritabanları büyükmekte ve log dosyaları  veritabanlarından daha büyük boyutlara ulaşmaktadır.Eğer bir de yetersiz disk ünitelerine sahipseniz bu log dosyaları ilerleyen dönemlerde problem yaşatmaktadır.Ben size bu log dosyarlarının nasıl ufaltılacağı hakkında bilgi vermeye çalışacağım.

Bu çalışmamı Microsoft SQL 2008 üzerinde gerçekleştirmiş bulunmaktayım .






















İlk olarak Proğramımızı açıyoruz login oluyoruz.Daha sonra Log dosyasını ufaltıcağımız Database'e sağ tıklayıp Task--Detach komutunu veriyoruz.Bu komut bizim database dosyamızın Sql server ile olan bağlantısını kopartmakta ve windows üzerinden yapılan müdahalerde korumasız bırakmaktadır.Aslında bu da bizim bu iş için istediğimiz şeydir.





















Detach komutunu verdikten sonra karşımıza yukarıdaki ekran gelir.Burda hiçbir değişiklik yapmadan Ok tuşuna basıyoruz ve database'imizin server ile bağlantısını kopartıyoruz.



Şimdi Yukardaki ekranda gördüğünüz gibi Databaselerimizin windows içinde saklandıkları klasöre geldik.Bizim burada üzerinde durucağımız 2 dosya var . Bunlardan ilki MikroDB_V12_T05_2011_1._ MS  bu bizim verilerimizin saklandığı dosyadır.(Bu dosyanın uzantısı sizin kafanızı karıştırmasın bunun sebebi piyasada bulunan Mikro programının kendi uyarladığı bir uzantıdır.Normalde .mdf uzantılıdır veritabanı dosyalarımız.) Diğer dosyamız MikroDB_V12_T05_2011_2    bizim log dosyamızdır.  Farketmişseniz log dosyamızın boyutu neredeyse veri tabanı dosyamızla neredeyse aynı boyuttadır.(bazen daha da büyük olabilir)


Şimdi bu silme işlemini yaparken herhangibir aksaklığa karşı ilk olarak ismini değiştiriyoruz ve sql server'ımızın bu dosyayı bulmamasını sağlıyoruz.


Şimdi ismini değitirdiğimiz log dosyasının veri dosyasını tekrar veritabanına bağlıycaz ve dış müdahalelere karşı koruma altına alıcaz.Detach Komutunu veriyoruz.


Karşımıza yukarıdaki ekran geliyor.Bu ekran da Add tuşuna basıyoruz ve veri dosyamızın konumunu işaretliyoruz.



Uzantısı ._MS olan veri dosyamızı seçiyoruz ve OK tuşuna basıyoruz.



Veri dosyasını ekledikten sonra ekranda dagördüğünüz gibi ismi değiştirdiğimiz log doyasını SQL Server 'ımız bulamamıştır.Log dosyamızı tıklıyoruz ve sağ alttaki remove tuşuna basıyoruz.

Ok tuşuna bastıktan sonra SQL Server'ımız bizim yerimize  sıfırdan bir log dosyası oluşturucak.

Burda da gördüğünüz gibi ismini değiştirdiğimiz dosya adında yeni bir log dosyası oluşmuş bulunmakda ve eskisinden daha düşük yer kaplamaktadır.Son olarak Database 'imizi kontrol ettikten sorna ismini değiştirdiğimiz eski log dosyasını artık silebiliriz.Bu işlemi gerçekleştirmeden önce herzaman için full backup almanız gerekmektedir.

2 yorum: