4 Mayıs 2011 Çarşamba

MSSQL logları silmek, veritabanını küçültmek

Çok yüksek boyutlu bir veritabanım vardı. 100GB ve logları da 50GB yer tutuyordu bundaki kayıtları nasıl silerim diye düşündüm. DELETE komutuyla silmek istedim. sildikçe log dosyası kabardı ve veritabanı yine 100 GB kaldı. Yani olmadı.
Sonra araştırdım. veritabanını sıfırladım.Aşağıdaki komut ile:


TRUNCATE TABLE tabloAdim


MSSQL içine bunu yazdım ve çalıştırdım 100GB veriyi birkaç saniyede sildi. Normalde 10bin kayıtı DELETE komutuyla 15-20 dakikada siliyordum.


Sonra log dosyasını temizlemek için de aşağıdaki komutu kullandım.


dump tran secmenler WITH TRUNCATE_ONLY
DBCC SHRINKFILE(2,EMPTYFILE)



Log dosyası 1 MB civarında oldu.
Ama iş bitmedi. yine veritabanım 100 GB olarak duruyor karşımda.
Son olarak da MSSQL Management üzerinden veritabanının üzerine sağ tıkladım. Task>Shirink>Database seçeneğini tıkadım. Açılan pencerede Shirink Action kutucuğunu işaretledim. OK dedim işlem tamam


bu işlemin ardından veritabanım 3 MB oldu. Şaka gibi bu MS SQL işleri,

Hiç yorum yok:

Yorum Gönder