İşlem günlüğünü daraltma
İşlem günlüğü dosyasını değildir gerek kullanılmayan alanı içerir biliyorsanız, işlem günlüğünün boyutunu azaltarak fazla alanı kazandıracaktır.Bu işlem olarak bilinen küçülterek günlük dosyası.
En az bir sanal günlük dosyası boş iken yalnızca veritabanı çevrimiçi ve, ayrıca, iken küçülterek oluşur.Bazı durumlarda, günlüğünü daraltma sonra sonraki günlük kesilme kadar mümkün olmayabilir.
Not
İşlem günlüğü sırada yukarı ve tam kurtarma modeli altında veritabanı yedeklenir tipik olarak kesilmesi otomatik olarak Basit kurtarma modeli altında oluşur.Ancak, bir dizi etken tarafından kesilmesi ertelenebilir.Daha fazla bilgi için bkz: Günlük kesilme geciktirebilirsiniz Etkenler.
(Veritabanı dosyalarını daraltma olmadan) bir günlük dosyası daraltmak için
Günlük dosyası küçültme olayları izlemek için
To monitor log space
sys.database_files (Transact-sql)(Bkz: boyutu, max_size, ve büyüme sütunlar için günlük dosyası veya dosyaları.)
Not
Veritabanı ve günlük dosyalarının daraltılması olabilir küme otomatik olarak gerçekleştirilir.Ancak, Otomatik küçültme karşı önerilir ve autoshrink veritabanı özelliği küme varsayılan olarak falseIf autoshrink is set to TRUE, automatic shrinking reduces the size of a file only when more than 25 percent of its space is unused.Şu kadar dosya ya da hangi boyutta yalnızca kullanılmayan dosya yüzde 25'i ise veya özgün dosyanın boyutu, hangisi daha büyük ise küçülttü.Ayarını değiştirme hakkında daha fazla bilgi için autoshrink özellik, bkz: Nasıl yapılır: Bir veritabanı (sql Server Management Studio'yu) özelliklerini görüntüleme veya değiştirme— kullanmak Otomatik küçülme özellik seçenekleri sayfa — ya alter database set seçenekleri (Transact-sql)— AUTO_SHRINK seçeneği kullanmak
Günlük dosyası daraltma işlemi nasıl çalışır?
İşlem günlüğünü daraltma, bir veya daha fazla etkin olmayan sanal günlük dosyaları kaldırarak, fiziksel boyutunu küçültür.Her zaman boyutu azaltma birimi olan sanal günlük dosyası.Örneğin, altı 100 mb sanal günlükler bölünmüş 600 megabayt (mb) bir günlük dosyası varsa, günlük dosyasının boyutu yalnızca 100 MB'lik artışlarla azaltılabilir.Dosya boyutu 500 mb veya 400 mb gibi boyutları için azaltılabilir, ancak dosya boyutları 433 mb ya da 525 mb gibi için azaltılamaz.Yani, herhangi bir etkin günlük kayıtlarını tutan bir sanal günlük dosyası bir etkin sanal günlük dosyası, mantıksal günlük bir parçasıdır ve kaldırılamaz.Daha fazla bilgi için bkz: İşlem günlüğünün fiziksel yapısı.
Not
The Veritabanı Altyapısı chooses the size of the virtual log file dynamically when log files are created or extended.Daha fazla bilgi için bkz: İşlem günlüğünün fiziksel yapısı.
Bir günlük dosyası için geçerli boyutu sanal günlük dosyaları tarafından kullanılan sayfaların toplam boyutu aynıdır.Ancak, sayfalar tarafından günlük dosyaları kullanılır unutmayın.Herhangi bir bölümünü mantıksal günlük tutan sanal günlük dosyaları serbest bırakılamıyor.Günlük dosyası sanal günlük dosyaları mantıksal günlük bölümlerini basılı tutarsanız, dosya küçültülemiyor.Günlük kesilme birini veya daha fazlasını devre dışı olarak sanal günlük dosyaları işaretler sonra küçülterek kadar olanaksızdır.
Dosya daraltma işlemi yalnızca etkin olmayan sanal günlük dosyaları kaldırabilirsiniz.Hedef Boyut belirtilmezse, dosya daraltma işlemi etkin olmayan sanal günlük dosyaları yalnızca son etkin sanal günlük dosyası ötesinde dosyalarını kaldırır.Hedef Boyut belirtilmezse, verilen dosya daraltma işlemi yaklaşan, ancak hedef boyutunu aşmaması için yalnızca yeterince etkin olmayan sanal günlük dosyaları kaldırır.Sonra büyüyüp günlük dosyası genellikle hedef boyuttan biraz fazla olur ve hiçbir zaman daha küçük olacaktır.Sanal günlük dosyaları, günlük dosyası ne kadar gerçekten küçültecektir tahmin etmek zor olun.
Herhangi bir dosyayı şu kadar küçülttü, Boşaltılan alan dosya sonundan gelmelidir.İşlem günlük dosyası şu kadar küçülttü, günlük kullanıcı tarafından istenen boyutunu küçültmek için yeterli sanal günlük dosyaları günlük dosyasının sonuna gelen serbest.The target_size specified by the user is rounded to the next highest virtual log file boundary.Bir kullanıcı belirtir, örneğin, bir target_size bizim örnek 600 mb içeren dosyayı altı 100 mb sanal günlük dosyaları için 325 MB son iki sanal günlük dosyaları kaldırılır ve yeni dosya büyüklüğü ise 400 mb.
dbcc SHRINKDATABASE veya dbcc SHRINKFILE işlemi hemen fiziksel günlük dosyasını istenen boyuta Küçült çalışır:
- Sanal günlük dosyaları mantıksal günlüğünde hiçbir parçası ötesine genişletir, target_size işaretleyin, sonra gelen sanal günlük dosyaları target_size işareti serbest ve başarılı dbcc deyim tamamlandıktan hiçbir ileti.
Sanal günlüklerinde mantıksal günlük bölümünü ötesine genişletmek, target_size işaretlemek, SQL Server Veritabanı Altyapısı olabildiğince çok alanı boşaltır ve sorunları bilgilendirici bir ileti.İletinin mantıksal günlük dosyasının sonunda sanal günlükler kaldırmak için yapmanız gerekir hangi eylemleri bildirir.Bu eylem gerçekleştirdikten sonra kalan alanı boşaltmak için dbcc deyim sonra yeniden verin.
Örneğin, altı sanal günlük dosyaları içeren bir 600 mb günlük dosyası sanal günlük 3 başlar ve dbcc SHRINKFILE deyim ile çalıştırdığınızda, sanal günlük 4 biten mantıksal bir günlük olduğunu varsayalım bir target_size 275 MB, sanal günlük 3 içine yolu, üçü ise:
Mantıksal günlük kısmını içermediği için 5 ve 6 sanal günlük dosyaları hemen kurtulurlar.Bununla birlikte, belirtilen karşılamak için target_size, sanal günlük dosyası 4 de serbest kalır, ancak alamazsınız çünkü mantıksal Kütük'ü son kısmını tutanBoşaltma sonra sanal günlük dosyasıs 5 ve 6'da, Veritabanı Altyapısı kalan kısmını doldurur sanal günlük dosyası kukla kayıtları ile 4Bu günlük dosyasının sonuna sonuna kadar zorlar sanal günlük dosyası 1.Çoğu sistemlerde başlayarak tüm hareketleri sanal günlük dosyası 4 olacaktır kabul edilen saniye içinde.Yani, tüm etkin bölümü günlük 1 sanal günlük dosyası taşınır.Günlük dosyasını şimdi şuna benzer:
dbcc SHRINKFILE deyim de, istenen tüm alanı serbest bırakamadı olduğunu ve kalan alanı boşaltmak için bir yedekleme günlüğü deyim çalıştırabilirsiniz belirten bir bilgi iletisi yayınlar.Günlük active kısmı 1 sanal günlük dosyası taşındıktan sonra sanal günlük dosyasında 4 tüm mantıksal günlük yedekleme günlüğü deyim keser:
Çünkü sanal günlük dosyası 4 artık herhangi bir kısmının mantıksal günlük tutan, şimdi aynı dbcc SHRINKFILE deyim ile çalışacak bir target_size 275 mb.4 Günlük dosyasının sanal sonra serbest bırakılan ve fiziksel günlük dosyasının boyutu, istenen boyuta azalır.
Not
Bir uzun süren işlem gibi bazı etkenler, sanal günlük dosyaları etkin uzun süre saklayabilirsiniz.Bu günlük küçülme kısıtlamak veya hiç küçültme günlük hatta önlemek.Daha fazla bilgi için bkz: Günlük kesilme geciktirebilirsiniz Etkenler.
Ayrıca bkz.