15 Eylül 2016 Perşembe

SQL Server'da Database Shrink ile Veri Tabanı Küçültme İşlemi

SQL Server'da Database Shrink ile Veri Tabanı Küçültme İşlemi

Shrink kelimesini Türkçe'ye küçültmek olarak çevirebiliriz.

SQL Server: Database Shrink
Bir veri tabanı içerisindeki veri miktarı azalsa dahi, veri tabanının sabit diskte kapladığı alan azalmaz.

Mesela 3 GB boyutunda veri ile dolu olan bir veri tabanından 1 GB veri silecek olursak, veri tabanının sabit diskte kapladığı alan 2GB'a inmez. Diskte kaplanan alan halen 3 GB olacaktır.

Disk alanı kullanımını israf boyutundan çıkarıp normal boyutlara çekmek için shrink işlemi yapılabilir.

Veri tabanı shrink işlemini T-SQL ile yapabileceğimiz gibi SQL Server Management Studio içerisinde grafik arayüzü kullanarak da yapabiliriz. Örneğimizi T-SQL ile gerçekleştireceğiz.

Shrink işlemini veri tabanı için hem *.mdf *.ndf gibi data dosyalarında hem de *.ldf log dosyaları üzerinde tek komutla uygulamak istediğimizde aşağıdaki komutu kullanabiliriz. Örnekte işlemin Adventureworks veri tabanı üzerinde uygulandığı varsayılmıştır.

use AdventureWorks
GO
DBCC SHRINKDATABASE('AdventureWorks')

Eğer shrink işlemini veri tabanına ait tüm dosyalarda değil de sadece tek bir data dosyası üzerinde uygulamak istersek; kullanacağımız komut aşağıdaki gibi olacaktır. Dosya bazlı shrink işlemi yapmak için shrinkfile kullanırken ilk parametre olarak veri tabanı adını değil küçültmek istediğimiz dosyanın adını gireriz.

use AdventureWorks
GO
DBCC SHRINKFILE('AdventureWorks_Data',0,TRUNCATEONLY)

Benzer şekilde, sadece log dosyasını shrinklemek için shrinkfile komutu kullanılabilir.

use AdventureWorks
GO
DBCC SHRINKFILE('AdventureWorks_Log',0,TRUNCATEONLY)

Hiç yorum yok: