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

Bu konu olası yanıt-e doğru tam işlem günlüğü tartışır ve nasıl gelecekte önlemek için öneriyor. Işlem günlüğü dolduğunda, SQL Server Veritabanı Altyapısı9002 hata sorunları. Ne zaman veritabanı çevrimiçi veya kurtarma günlüğü doldurabilirsiniz. Veritabanı çevrimiçi durumdayken günlüğünü dolduruyor, veritabanı çevrimiçi kalır, ancak salt okunur, güncelleştirilmemiş. Kurtarma işlemi sırasında günlük doldurur, Veritabanı Altyapısıveritabanı kaynak BEKLEMEDE olarak işaretler. Bu durumda, kullanıcı eylemi günlük alanı elde etmek için gereklidir.

Tam bir işlem günlük yanıt

Tam işlem günlüğü uygun yanıtı kısmen ne koşul veya koşullar günlüğünün dolmasına neden üzerinde bağlıdır. Ne Günlük kesilme belirli bir durumda engelliyor keşfetmek için log_reuse_wait ve log_reuse_wait_desc sütunları log_reuse_wait_descsys.Database Katalog görünümü. Daha fazla bilgi için, bkz. sys.Databases (Transact-sql). Kesilme geciktirebilir Etkenler açıklamalarını günlüğü için bkz İşlem günlüğü (SQL Server).

Önemli notÖnemli

Eğer veritabanı kurtarma 9002 hata oluştuğunda, sorunu çözme sonra alter database kullanarak veritabanını kurtarmak database_nameset ONLINE.

Tam hareket günlüğe yanıtlamak için alternatifler şunlardır:

  • Günlük yedekleme.

  • Böylece günlük otomatik olarak büyüyebilir disk alanı boşaltma.

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

  • Günlük dosyası boyutunu artırma.

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

  • Tamamlama veya uzun süren işlem öldürüyor.

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

Günlük yedekleme

İşlem günlüğünün son zamanlarda, yedeklenen değil tam kurtarma modelini veya toplu kurtarma modeli altında yedekleme ne Günlük kesilme engelliyor olabilir. Günlük asla yedeklendiğinden, izin vermek için iki günlük yedeklemeler oluşturmanız gerekir Veritabanı Altyapısınoktaya son yedekleme günlüğü kesemez için. Günlük kesiliyor, yeni günlük kayıtları alan boşaltır. Yeniden doldurma yukarıya günlüğü tutmak için günlüğü yedekleri sık sık almak.

Hareket günlük yedek oluşturmak için

Önemli notÖnemli

Veritabanı zarar görmüş, bakın Tail günlük yedekleme (SQL Server).

Disk alanı boşaltma

Boş disk alanı silme veya diğer dosyaları taşıyarak veritabanı için işlem günlüğü dosyasını içeren disk sürücüsünde mümkün olabilir. Serbest disk alanı, günlük dosyasını otomatik olarak büyütmek kurtarma sistemi sağlar.

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

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

Önemli notÖnemli

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

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

Günlük dosyası boyutunu artırma

Günlüğü disk alanı varsa, günlük dosyasının boyutunu artırabilirsiniz. Günlük dosyalarının boyut üst sınırını, iki terabayt (tb) günlük dosyasının başına olduğunu.

Dosya boyutunu artırmak için

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

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

  • Otomatik büyüme üzerinde FILEGROWTH seçeneği için sıfır olmayan büyüme artışı ayarlamak için alter database deyimini kullanarak açın.

[!NOT]

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

Bir günlük dosyasını farklı bir Disk ekleme

Veritabanı, alter database kullanarak yeterli alan olduğundan farklı bir diskte yeni bir günlük dosyası eklemek <database_name> günlük dosyasına ekleyin.

Günlük dosyası eklemek için

Ayrıca bkz.

Başvuru

alter veritabanı (Transact-sql)

sp_add_log_file_recover_suspect_db (Transact-sql)

Kavramlar

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

Işlem günlüğü yedekleri (SQL Server)