İşlem günlüğü dosyasının boyutunu yönetme

Bazı durumlarda, fiziksel daraltmak veya genişletmek işlem günlüğünün fiziksel günlük dosyası yararlı olabilir bir SQL Serververitabanı. Bu konuda boyutunu izlemek hakkında bilgi içeren bir SQL Serverişlem günlüğü, işlem günlüğünü daraltma, ekleyin veya bir işlem günlük dosyası büyütmek, en iyi duruma tempdb hareket oturum büyüme oranı ve bir işlem günlüğü dosyası büyümesi kontrol.

Bu Konuda

  • Monitör günlük alanı kullanımını

  • Günlük dosyasının boyutunu küçültme

  • Eklemek veya bir günlük dosyasına büyütmek

  • Işlem günlük tempdb boyutunu en iyi duruma getirme

  • Bir işlem günlüğü dosyası büyümesi kontrol

Monitör günlük alanı kullanımını

dbcc sqlperf (logspace) kullanarak günlük alanı kullanımını izleyebilirsiniz. Bu komut, şu anda kullanılan günlük alanı hakkında bilgi verir ve hareket günlüğü kesme ihtiyacı olduğunda gösterir. Daha fazla bilgi için, bkz. dbcc sqlperf (Transact-sql). Geçerli günlük dosyası boyutu, en büyük boyutuna ve otomatik büyüme seçeneğini dosyası hakkında daha fazla bilgi için de kullanabilirsiniz boyutu, max_size, ve büyüme sütunlar için bu günlük dosyasına sys.database_files. Daha fazla bilgi için, bkz. sys.database_files (Transact-sql).

Önemli notÖnemli

Günlük diski overloading kaçının öneririz.

[Üst]

Günlük dosyasının boyutunu küçültme

Fiziksel günlük dosyasının fiziksel boyutunu azaltmak için günlük dosyasını daraltmanız gerekir. Bir işlem günlüğü dosyası değil ihtiyacı olacak kullanılmayan alanı içeren biliyorsanız kullanışlıdır. Bir günlük dosyası daraltılması yalnızca veritabanının çevrimiçi olduğundan ve ayrıca en az bir sanal günlük dosyası boş ise oluşur. Bazı durumlarda, günlüğünü daraltma sonra sonraki günlük kesilme kadar mümkün olmayabilir.

[!NOT]

Sanal günlük dosyaları uzun süre aktif tutmak bir uzun süren işlem gibi faktörler, günlük büzülme kısıtlamak veya tüm daralma günlük hatta önlemek. Günlük kesilme geciktirebilir Etkenler hakkında daha fazla bilgi için bkz: Transaction Log Truncation.

Bir günlük dosyası daraltılması kaldırır tutan mantıksal günlük herhangi bir parçası olmayan bir veya daha fazla sanal günlük dosyaları (yani, etkin olmayan sanal günlük dosyaları). Bir işlem günlüğü dosyası daralmış günlük yaklaşık hedef boyutunu azaltmak için günlük dosyasının sonuna yeterince etkin olmayan sanal günlük dosyaları kaldırılır. Daha fazla bilgi için Ayrıca bkz: How Does Shrinking the Log File Work?.

(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

[!NOT]

Veritabanını ve günlük dosyalarını daraltma, otomatik olarak gerçekleşmesi için ayarlanabilir. Ancak, Otomatik küçülme karşı önerilir ve autoshrinkveritabanı özelliği varsayılan olarak yanlış. Eğer autoshrinktrue olarak ayarlanmışsa Otomatik küçülme yalnızca kendi alanı yüzde 25'den fazla kullanılmayan olduğunda dosya boyutunu küçültür. Dosya ya da hangi boyutta yalnızca yüzde 25'in dosyasının kullanılmayan veya dosyayı özgün boyutuna, hangisi daha büyük ise daraltılmış. Ayarı değiştirme hakkında bilgi için autoshrinközelliği görmek, Veritabanı özelliklerini görüntüleme veya değiştirme— kullanmak Auto Shrink özelliği seçenekleri sayfa — ya alter database set seçenekleri (Transact-sql)— AUTO_SHRINK seçeneğini kullanın.

[Üst]

Eklemek veya bir günlük dosyasına büyütmek

Alternatif olarak, alan (disk alanı veriyorsa) varolan günlük dosyasının büyütme veya günlük dosyası genellikle farklı bir diskte veritabanına ekleyerek kazanabilirler.

  • Bir günlük dosyasının veritabanına eklemek için Ekle günlük dosyası yan tümcesini alter database deyimi kullanın. Bir günlük dosyası ekleyerek büyümeye günlüğü sağlar. Dosya ekleme hakkında daha fazla bilgi için bkz: Adding and Deleting Data and Transaction Log Files.

  • Günlük dosyası büyütmek için boyut ve MAXSIZE sözdizimini belirlemek alter database deyimini değiştirmek dosya yan tümcesi kullanın. Daha fazla bilgi için, bkz. alter veritabanı (Transact-sql).

[Üst]

Işlem günlük tempdb boyutunu en iyi duruma getirme

Sunucu örneğini yeniden boyutlandırır işlem günlüğünün tempdb veritabanını özgün, pre-otomatik büyüme boyutuna. Bu performansını azaltabilir tempdb işlem günlüğü. Sen-ebilmek kaçmak bu yükü boyutunu artırarak tempdb işlem günlüğü başlatma veya sunucuyu yeniden başlattıktan sonra. Daha fazla bilgi için, bkz. tempdb veritabanı.

[Üst]

Bir işlem günlüğü dosyası büyümesi kontrol

Sen-ebilmek kullanma alter veritabanı (Transact-sql)bir işlem günlük dosyası büyüme yönetmek için deyimi. Aşağıdakilere dikkat edin:

  • kb, mb, gb ve tb birimlerindeki geçerli dosya boyutunu değiştirmek için boyutu seçeneğini kullanın.

  • Büyüme artışı değiştirmek için FILEGROWTH seçeneği kullanın. 0 Değeri otomatik büyüme kapalı olarak ayarlanır ve ek boşluk izin verildiğini gösterir. Günlük dosyası üzerinde bir küçük autogrowth artış performansı düşürebilir. Bir günlük dosyasını dosya büyüme artışı sık genişleme önlemek için yeterli büyüklükte olmalıdır. Varsayılan büyüme artışı yüzde 10 genelde uygundur.

    Günlük dosyası dosya-büyüme özelliği değiştirme hakkında daha fazla bilgi için bkz: alter veritabanı (Transact-sql).

  • En fazla kb, mb, gb ve tb birimlerindeki günlük dosyası boyutunu denetlemek için ya da büyüme için sınırsız ayarlamak için MAXSIZE seçeneğini kullanın.

[Üst]

Ayrıca bkz.

Başvuru

Yedekleme (Transact-sql)

Kavramlar

Tam bir işlem günlük (SQL Server hata 9002) sorun giderme

Diğer Kaynaklar

Adding and Deleting Data and Transaction Log Files

Coding Efficient Transactions

Adding and Deleting Data and Transaction Log Files