SQL Server Log Dosyasını Silmek 88618861 okunma
SQL Server içerisinde log dosyasının zaman zaman çok büyük olduğuna şahit olabiliyoruz. Örneğin çalıştığım bir veritabanında 600 MB .mdf dosyası olduğu halde .LDF dosyası (log) 25 GB üstündeydi. Bunun büyük olmasının iki sebebi var: Birincisi log ve database için shrink yapılmamış, ikincisi bu database üzerinde çok fazla işlem yapılıyor. Yaptığınız tüm işlemler log dosyasına kaydediliyor. Bazı sorgularımızda log işlemi yaptırmıyoruz. Örneğin delete sorgusu ile sildiğinizde loglar ancak truncate kullandığınızda loglama gerçekleşmez.
Log dosyasının bu denli büyümesi bir sorun olarak ortaya çıktığında akla ilk gelen çözüm onu silmek olur. Aslında silinmemesi gerekir loglar. Shrink uygulanır; ama onun bile yetersiz geldiği durumlar olabilir.
Log dosyasını silmek için yapılacak olan işlemler sırasıyla şöyle:
- Veritabanını detach etmek (Database servisinden kurtarmak)
- Veritabanının olduğu dizine girip log dosyasını silmek
- Veritabanını attach etmek (yeni log dosyası oluşur)
Veritabanımıza sağ tuş yapıp Tasks kısmından Detach diyelim.
Detach Database ekranı karşımıza geliyor. Veritabanımız aktif olarak kullanılıyor olabilir, bu bakımdan Drop seçeneğini işaretleyin. OK deyin.
Log dosyasının olduğu klasöre girin (genellikle SQL Server kurulu olduğu dizinde Data klasörü altında) ve buradaki detach ettiğiniz veritabanına ait LDF dosyasını silin. Zaten diğer veritabanları kullanılıyorsa onları silemezsiniz.
Tekrar eklememiz gerekiyor. Bunun için Databases kısmından sağ tuş yapıp Attach diyelim.
Veritabanı MDF dosyasını gösterelim. Add diyelim.
Dosyayı seçelim.
Database details kısmında Log dosyasını bulamadığını belirten bir uyarı göreceksiniz. Mesaj olarak Not Found yazar. Ona tıklayıp Remove diyelim. Böylece yeni bir log dosyası oluşturacak.
Log dosyasını başarıyla silip yeniden oluşturdunuz.
Her zaman tekrarlanmaması gereken bir işlem. Database oluşturduktan sonra shrink işlemlerini ihmal etmeyin.
Recep ŞERIT
BİR YORUM YAZIN