Aracılığıyla paylaş


Tam bir işlem günlüğü (Hata 9002) sorun giderme

Bu konu, tam bir işlem günlüğü olası yanıtlarını açıklanır ve nasıl yapılır: gelecekte önlemenize önerir.Ne zaman hareket günlüğü dolduğu SQL Server Database Engine bir 9002 hata verir. Veritabanı çevrimiçi veya kurtarma modundayken günlüğü doldurabilirsiniz.Veritabanı çevrimiçi durumdayken, günlüğü doldurur, veritabanını çevrimiçi kalır, ancak yalnızca okunabilir, güncelleştirilmedi.Kurtarma sırasında günlük doldurur, Database Engine Veritabanı KAYNAĞı BEKLEYEN işaretler. Da durum, kullanıcı eylem günlük alanı yeniden kullanabilmek için gereklidir.

Tam bir işlem günlüğü için yanıt

Kısmen ne koşul veya koşullar günlüğü doldurmak neden üzerinde tam bir işlem günlüğü uygun yanıtı bağlıdır.Verilen bir durumda, günlük kesilme engelleyen bulmak için , kullanan log_reuse_wait and log_reuse_wait_desc sütunlarsys.Database kataloğunu görüntüleyin.Daha fazla bilgi için bkz:sys.Databases (Transact-SQL).Günlük kesilme geciktirebilirsiniz etkene açıklamaları için bkz: Oturum kesilmesi gecikme Etkenler.

Important noteImportant Note:

ALTER DATABASE'nı kullanarak veritabanı 9002 hata oluştuğunda, sorunu çözme sonra veritabanı kurtarmak ise, kurtarmak veritabanı_adı küme ONLINE.

Tam bir işlem günlüğü için yanıt için seçenekleri şunlardır:

  • Günlük yedekleme.

  • Disk alanı boşaltmayı, böylece günlük otomatik olarak büyüyebilir.

  • Günlük dosyası, yeterli alanı olan bir disk sürücüsüne taşıma.

  • Bir günlük dosyası boyutunu artırma.

  • Bir günlük dosyasını farklı bir disk ekleme.

  • Tamamlama veya uzun süren bir işlemi sonlandırma.

Bu seçenekler aşağıdaki bölümlerde ele alınmıştır.Durumunuzu en iyi uyan bir yanıt seçin.

Günlük yedekleme

Işlem günlüğü son olarak, yedeklenen dosyaların değil tam kurtarma modeli veya toplu günlük kurtarma modeli altında yedek günlük kesilme engel oluyor olabilir.Günlük hiçbir zaman Yedeklenen dosyaların, izin vermek için iki günlüğü yedeklerini oluşturmalısınız Database Engine son yedek noktasına günlük kesecek şekilde, . Günlük kesiliyor yeni günlük kayıtları alan boşaltır.Günlüğü, yeniden doldurmasını sağlamak için günlüğü yedekleri sık alın.

Bir işlem günlüğü yedeklemesini oluşturmak için

Important noteImportant Note:

Veritabanı bozulmuşsa, bkz: Kuyruk günlüğü yedekleri.

Disk alanı boşaltma

Diğer dosyaları taşıma veya silme veritabanının işlem günlüğü dosyasını içeren disk sürücüsündeki disk alanı boşaltın çözebilirsiniz.Bırakılmış bir disk alanı, günlük dosyasını otomatik olarak genişletmek kurtarma sistemi sağlar.

Günlük dosyasını farklı bir diske taşıma

Günlük dosyasını içeren sürücü üzerinde yeterli disk alanı boş olamaz, dosyayı yeterli alanı olan başka bir sürücüye taşımayı düşünün.

Important noteImportant Note:

Günlük dosyaları hiçbir zaman sıkıştırılmış dosya sistemlerinde yerleştirilmelidir.

Bir günlük dosyasına taşımak için

Günlük dosyasının boyutunu artırma

Günlük diskte kullanılabilir alan, günlük dosyasının boyutunu artırabilirsiniz.En büyük günlük dosyaları için iki terabayt (TB) günlük dosyasının başına boyutudur.

Dosya boyutunu artırmak için

Otomatik büyüme devre dışı bırakıldıysa, veritabanının çevrimiçi olduğundan ve yeterli ya da diskte kullanılabilir alan:

  • El ile bir tek büyüme artışı üretmek için dosya boyutunu artırır.

  • Otomatik büyüme üzerinde için ALTER DATABASE deyimini kullanarak kapatma küme FILEGROWTH seçeneği için bir sıfır olmayan büyüme artışı.

Not

Geçerli boyut sınırına ulaşıldığından, her iki durumda da, MAXSIZE değerini artırın.

Farklı bir disk üzerinde bir günlük dosyası ekleme

Veritabanı ALTER DATABASE'ni kullanarak, yeterli alan olduğundan farklı bir diskte yeni bir günlük dosyası eklemek için <veritabanı_adı> EKLENTİ GÜNLÜK DOSYASI.

Bir günlük dosyası eklemek için

Tanımlamak ve bir uzun çalışan işlem yönetme

Daha fazla bilgi için bkz:Uzun çalışan hareketlerini yönetme.