MSSQL Server ve Auto Shrink
Auto Shrink(Otomatik sıkıştırma) Nedir?
Mssql server veritabanına bir kayıt eklerken page mantığını kullanmaktadır. Bu mantığa göre her bir page 8 K'dır ve her yeni kayıt için yeni bir page ayrılır. Auto shrink ise bu aşamada işimize yaramakta. Örneğin;
1. data boyutu 8 K, 1.page'e yazıldı
2. data boyutu 3 K, 2.page'e yazıldı
3. data boyutu 7 K, 3.page'e yazıldı.
toplam 3 page(24K) alanımıza toplam 18K veri yazılmıştır. Bu 3 page'de 6 K'lık bir bellek kaybı yaşanmaktadır. SQL Server özellikle büyük veritabanlarında index düzenlemeler, geniş çaplı güncellemeler, toplu kaydetme veya silme gibi yoğun disk işlemlerinde o veritabanını büyütme ihtiyacı duyar. Sistemin kullandığı geniş disk alanını serbest bırakmak veya veritabanı dosyalarında zamanla kullanılmayan data page’leri yok etmek için daraltma (shrinking) işlemi gerçekleştirilir.