Database Shrink / Veritabanı Küçültme İşlemi

Arkadaşlar bugüne kısa bir makale ile başlayalım;
Shrink işleminden bahsedeceğim.
Shrink’in kelime anlamı küçültmek demek.Veritabanları boyutları küçülsede diskte kapladığı boyut değişmez.
Mesela 1 GBlık bir veritabanımız olsun, içerisinden 200 MBlık veri sildiğimizde veritabanı boyutu 800 MB olmaz. Yine diskte 1 GB olarak yer kaplar.
Bu nahoş durumu normale indirgemek için shrink işlemine ihtiyaç duyarız.
Shrink işlemi Management Studio üstünden yapılacağı gibi t-sql komutlarıylada yapılabilmektedir. Ben şimdilik T-sql komutlarını göstereceğim.

Shrinki database seviyesinde yani hem .mdf hemde .ldf dosyalarına uygulamak için şu komutu kullanabiliriz.

(AdventureWork yerine işlemi yapacağınız db ismini yazın)

USE
[AdventureWorks]
GO
DBCC
SHRINKDATABASE(N'AdventureWorks')
GO
Sadece .mdf dosyasına uygulamak istersek;
USE
[AdventureWorks]
GO
DBCC SHRINKFILE (N'AdventureWorks_Data' ,
0, TRUNCATEONLY)
GO

Log dosyası için;

USE
[AdventureWorks]
GO
DBCC SHRINKFILE (N'AdventureWorks_Log' ,
0, TRUNCATEONLY)
GO

Shrink işlemi bu kadar. Yalnız her zaman %100 sonuç alamayabiliriz. Bazen tutarlı olamayabiliyor. Onuda ayrı bir makalede ele alırız.
Ayrıca serverda yapacağımız bu tarz işlemlerden önce backup almayı ihmal etmeyelim. Unatmamak gerekir ki risk her zaman vardır. Hazırlıklı olmak gerek.

Ek olarak önemli bir not: Hiç bir zaman otomatik shrink seçeneğini aktifleştirmeyin veya maintenance plana eklemeyin. Eğer evinizde ufak projeleriniz varsa sorun olmayabilir ama büyük datacenter ortamında kesinlikle önerilmiyor. Kötü sonuçlar doğurabiliyor.

Reklam

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s