SQL Server’da bulunan Auto Growth (Otomatik Büyüme) özelliği sayesinde veritabanı dosyaları dolduğunda sistem tarafından otomatik olarak büyütülmektedir. Bu büyüme oransal ya da boyutsal olarak daha önceden belirlenebilir. Aynı zamanda dosyaların en fazla hangi boyuta kadar büyüyebileceği de ayarlanabilir.

Büyümelerin default değeri data dosyası için 1MB, log dosyaları için %10’dur. Değeri default haliyle bırakmak çoğu durumda performans sıkıntısı doğurmaktadır.

Peki bu değerleri kaç olarak ayarlamalıyız?

Bu konuda ilk söylemem gereken değerlerin kesinlikle % şeklinde bırakılmaması gerektiği. Bunun sebebi; düşük boyutlu dosyalarda sürekli auto growth yapma ihtiyacı doğacakken büyük boyutlu dosyalarda da tek seferde çok fazla büyüme yapılma ihtimalidir.

Örneğin dosyanız şu anda 10MB ve auto growth değeri %10 ise büyümeler 1MB’lık bloklar şeklinde yapılacak ve sürekli büyüme ihtiyacı ortaya çıkacaktır.

Tam tersini düşündüğümüzde yani dosyanın boyutunun 100GB olduğunu düşündüğümüzde, bu durumda da her büyüme için 10 GB’lık dosya allocate edilmeye çalışılacak. Bu da uzun sürecektir.

Dolayısıyla toparlayacak olursak; yüzdesel büyüme değerleri vermektense sabit değerler vermeliyiz. Peki bu sabit değer ne olmalı? 10MB, 100MB, 1GB, 10 GB?

Auto Growth değerinin çok büyük set edilmesi daha öncede söylediğim gibi işlemin yapıldığı anda beklemeye sebebiyet verecektir. Küçük olması da sürekli Auto Growth ihtiyacı anlamına gelmektedir. O yüzden bu konuda sunulan ilk best practice auto growth değerinin 1GB’dan büyük set edilmemesi.

Ben kendi ortamlarında data dosyaları için 1024MB ya da 512MB log dosyaları için de 512MB ya da 256MB set etmekteyim. Siz de bu değerleri gönül rahatlığıyla kullanabilirsiniz.

Bu arada otomatik büyümeleri gün içinde kendi hallerine bırakmaktansa mesai saatleri dışında çalışan bir job ile yapmak ta best practice’dir. Bu konu hakkında yazdığım aşağıdaki makaleyi okumanızı tavsiye ederim.

http://www.turgaysahtiyan.com/post/Veritabanc4b1-Otomatik-Buyumeleri-Kontrolunuz-Altc4b1nda-Olsun-(Database-Auto-Growth).aspx