|
|
|
SQL Server 2008' de 'TRUNCATE_ONLY'
ve 'NO_LOG' BACKUP Seçenekleri
|
Son güncelleme tarihi: 05 Ocak 2008
Merhaba arkadaþlar,
Bu yeni senede yazdýðým ilk makaleme yeni yýlýnýzý
kutlamak ile baþlamak istiyorum, iyi seneler olsun hepimize =)
Yeni seneyle beraber yeni yazýlýmlar da çýkýyor ve bildiðiniz üzere SQL Server
2008 bu yeni Sunucu kategorisindeki yazýlýmlardan birisi.
Yeni yazýlýmlarla birlikte elbet de yenilikler de geliyor ve zaman zaman bu yeniliklerden
de bahsediyorum. Ýþte bu makalemde de BACKUP komutunda artýk
TRUNCATE_ONLY ve NO_LOG ' un artýk kullanýlamayacaðýndan,
çünkü BACKUP komutunun artýk bu seçenekleri tanýmadýðýndan bahsedeceðim.
Bilmeyenler için kýsaca deðineyim; TRUNCATE_ONLY VE NO_LOG seçeneklerini sadece
BACKUP LOG ile kullanabiliriz. Kullaným amacý ise veritabanýna ait bir Transaction
Log dosyasýndaki Pasif Sanal Log (Inactive Virtual Logs)' larý
temizlemek ve Transaction Log içerisine kaydedilecek yeni kayýtlar için yer açmaktýr.
Bu çok ayrý bir konu, buna baþka bir makalede deðineceðim.
Bu BACKUP seçeneklerinin, SQL Server' ýn gelecekteki versiyonlarýnda artýk kullanýlamayacaðý
zaten SQL Server 2005
Books Online ' da belirtilmiþti.
Peki SQL Server 2008' de veritabanýmýzýn Transaction Log dosyasýndaki Pasif Sanal
Log' larý nasýl temizleyeceðiz? Hemen cevabý da geliyor: Veritabanýmýzýn Recovery
State' ini SIMPLE yaparak.
Tabii eðer veritabanýnýzýn Recovery State' i zaten SIMPLE ise zaten Transaction Log' unuz otomatik olarak pasif loglardan temizlenecektir.
Ama eðer FULL veya BULK LOGGED ise, o zaman veritabanýnýzýn Recovery State' ini
SIMPLE yaptýktan sonra tekrar eski haline döndürebilirsiniz.
Örnek:
ALTER DATABASE DenemeVT SET RECOVERY SIMPLE
ALTER DATABASE DenemeVT SET RECOVERY FULL
ÇOK ÖNEMLÝ:
Veritabanýnýzýn Recovery State' ini SIMPLE yapmanýzýn size olan
maliyetlerini önceden bilmelisiniz. Aksi takdirde hiç istemediðiniz sonuçlarla karþýlaþabilirsiniz.
Maksadým kimsenin gözünü kormutmak deðil elbet, fakat bu iþ bu þekilde yapýlýyor
diye her þey yolunda gidecek gibi bir durum söz konusu deðil. Veritabanýnýzýn Recovery
State' ini deðiþtirmek, Transaction Log zincirini kýrar. Yani eðer bahsi geçen veritabanýnda
Transaction Log yedekleme iþlemi yapýyorsanýz, bu zincir kýrýlacaktýr ve veritabanýnýzýn
Recovery State' ini SIMPLE yaptýktan sonraki alýnan Transaction Log' lar bir RESTORE
durumunda iþe yaramayacaktýr çünkü zincir kýrýlmýþtýr. Bunu engellemek için ise
veritabanýnýzýn Recovery State' ini deðiþtirmeden
önce tam yedeðini almanýzý ve
SIMPLE' dan tekrar FULL' e geçtikten sonra tekrar tam yedeðini almanýzý tavsiye ederim.
Ekrem Önsoy
|
|
Anasayfa |
|