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 |
---|
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 |
---|
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 |
---|
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)