SQL Log Shrink ( Log dosyası küçültme )

Bu yazımda sık karşılaştığım sql transaction log dosyasının  varlığını, aşırı büyümesinin nedenlerini ve çözüm yollarını irdeleyeceğim.

Transaction Log, adı üzerinde, SQL tarafında yapılan tüm işemlerin ( sorgu, ekleme, çıkarma, düzenleme) kaydının tutulduğu bir veritabanıdır.
Aşağıda içeriğini verdiğim parçalardan oluşur.

SQL üzerinde işlem yapıldıkça bu log dosyası da büyüyecektir.
Buradan bakıldığında performansı da oldukça etkileyen bir sistemin parçasıdır.

Peki Neden Büyür ?
Veritabanı kurtarma modelinize bağlı olarak işlem kayıtları otomatik olarak kesilir ya da tam yedek aldığınız zamana dek saklanır, böyle durumda da büyümesi kaçınılmaz olur.
Bu durumda log dosyasını küçültme ( shrink ) işlemi yapmak gerekir.

Log Shrink Nasıl Yapılır ?
Öncelikle kurtarma modelimizi Simple Recovery Modele Alıyoruz: Bunun anlamı şudur, Simple Recovery Mode’da Log dosyalarının boyutları default ayarlanmış boyuta göre küçültülür.

Sql Studio açın ve veritabanı üzerine sağ tıklayarak “new query” diyerek sorgu penceresini açın.

1. Adım :

USE   DatabaseName
ALTER DATABASE  DatabaseName
SET RECOVERY SIMPLE
GO

2. Adım :
Bu adımda log dosyalarımızın boyutunu istediğimiz şekilde ayarlayabiliyoruz. Bu örnekte 500 MB olarak ayarlıyoruz. ( rakam MB cinsinden ayarlanır ) 

USE   DatabaseName

DBCC SHRINKFILE (DatabaseName_Log, 500)
GO

3. Adım :
Bu adımda tekrar log dosyamızı Full Recovery Mode’a çekerek, log dosyamızın otomatik olarak kesilmesininin önüne geçiyoruz.

USE   DatabaseName

ALTER DATABASE  DatabaseName
SET RECOVERY FULL
GO

 

  • Kırmızı ile yazılmış kısımları kendinize göre düzenleyin.
  • DatabaseName_Log, log dosyanızın ismi ile aynı olmalıdır.
  • sorgu penceresine yalnızca USE ile başlayan sorgu metinleri yazılmalıdır.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.