Veritabanı işlemlerinin tamamlanması uzun sürebilir veya işlem günlüğü çok sayıda sanal günlük dosyaları varsa, bunlar hataları tetikler.
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 2028436
SQL Server 2008 ortamında, aşağıdaki belirtilerle karşılaşabilirsiniz:
Belirtiler
- Bir veya daha fazla veritabanları SQL Server başlangıç sırasında kurtarma tamamlamak için çok uzun zaman alıyor.
- Bir veritabanını geri yükleme gerçekleştirdiğinizde, tamamlanması çok uzun zaman alır.
- Veritabanı eklemek için girişimleri bitirmek için çok uzun zaman alıyor.
- Yansıtma veritabanı ayarlama çalıştığınızda hata iletileri 1413, 1443 ve 1479, zaman aşımı gösteren karşılaşırsınız.
- Bir veritabanını geri yüklemeye çalıştığınızda 701 gibi bellekle ilgili hatalarla karşılaşırsınız.
SQL Server hata günlüğünü incelediğinizde, önemli miktarda süre önce veritabanı kurtarma işlemi ANALİZ aşamasında harcadığı dikkat edin.
2010-05-08-14:42:38.65 spid22s 'lot_of_vlfs' veritabanı başlatılıyor.
2010-05-08 14:46:04.76 spid22s çözümleme veritabanı 'lot_of_vlfs' (16): %0 tamamlandı (yaklaşık 0 saniye kalır). Aşama 1 / 3. Yalnızca bir bilgi iletisi budur. Hiçbir kullanıcı eyleme gerek yoktur.
2010-05-08 14:46:04.76 spid22s çözümleme veritabanı 'lot_of_vlfs' (16): %0 tamamlandı (yaklaşık 0 saniye kalır). Aşama 1 / 3. Yalnızca bir bilgi iletisi budur. Hiçbir kullanıcı eyleme gerek yoktur.
SQL Server veritabanı kurtarma işlemi ilk aşamalarında, tüm sanal günlük dosyaları tüm işlem günlüğü dosyaları mevcut bir keşif yapar. Tüm sanal günlük dosyaları listesi oluşturulur. Bu işlemi, sanal günlük dosyaları belirli bir veritabanında mevcut sayısına bağlı olarak çok uzun zaman alabilir. İşlem günlüğü karşılaştığı sık otomatik büyüme için boyutu çok küçük artışlarla olmuyor ile Büyüt, bir veritabanı çok sayıda sanal günlük dosyaları sonunun.
Neden
Normal olarak, sanal günlük dosyaları sayısı birkaç yüz bin aralığında olduğunda "Belirtiler" bölümünde açıklanan sorunlarla karşılaşıyor başlarsınız.
Belirli bir veritabanında, sanal günlük dosyaları bulmak için aşağıdaki blog yöntemleri kullanabilirsiniz:
Çözüm
Günlük dosya yapısı veritabanı kurtarma süresini nasıl etkileyebileceğini
Sanal günlük dosyalarının toplam sayısı 10.000 gibi bir makul sayıda altında tutmak zorunda kalabilirsiniz.
İşlem günlük dosyası, aşağıdaki yöntemleri kullanarak, yalnızca sınırlı sayıda sanal günlük dosyaları içerecek şekilde yeniden yapılandırabilirsiniz:
- İşlem günlüğü dosyalarını daraltma, dosyaları TSQL ALTER DATABASE kullanarak el ile gerekli boyutları için büyüme <database name="">dosyasını değiştirmek (adı = 'mantıksal dosya adını hareket günlüğü', BOYUTU = <required size="">)</required> </database>
- İşlem günlüğü dosyasını yeniden oluşturmak ve işlem günlük dosyaları için gerekli boyutları elle Büyüt:
- Veritabanını daha önce temiz bir şekilde (kullanıcılar veya açık hareketleri ile) kapatıldı, yeni bir işlem günlük dosyası oluşturmak için CREATE DATABASE için ATTACH_REBUILD_LOG seçeneğini kullanın.
- Otomatik olarak oturum şu anda kullanılabilir olan dosya ve veritabanı kapatıldı ise [hiçbir kullanıcı veya açık hareketleri ile] ekleme işlemi önce CREATE DATABASE FOR ATTACH seçeneği temizleme tek bir okuma/yazma veritabanı varsa, günlük dosyası oluşturur ve birincil dosya güncelleştirir.
İşlem günlüğü dosyasının yerleşimini yeniden yapılandırdıktan sonra gözden geçirin ve gerekli değişiklikleri yapın ileride aynı sorunla karşılaşıyor önlemek için işlem günlüğü dosyasının ayarlarını otomatik büyüme.
Not: Bu işlemlerden birini gerçekleştirmeden önce daha sonra bazı sorunlarla karşılaşma olasılığına geri yüklenebilir geçerli bir yedeğiniz bulunduğundan emin olun.
2524743 Düzeltme: Kurtarma için bir veritabanı SQL Server 2008 veya SQL Server 2008 R2 ortamında beklenenden uzun sürüyor
2455009 Düzeltme: SQL Server 2005, SQL Server 2008 veya SQL Server 2008 R2'de işlem günlüğü içinde birçok VLFs varsa bir veritabanını kurtarmak zaman yavaş performans
2653893 Düzeltme: SQL Server 2008 R2'de bir veritabanını geri yüklemek için uzun zaman sürer
979042 Düzeltme: SQL Server 2005 veya SQL Server 2008 veritabanı çok sayıda sanal günlük dosyaları varsa, asıl veritabanı kurtarılır değil
2882905 SQL Server örneğini başlattığınızda veya geri yüklemek veya bir veritabanını iliştirmek 9017 bilgilendirme iletisi kaydediliyor
Sanal günlük dosyaları hakkında tam bilgi için Books Online'da aşağıdaki konulara bakın: İşlem günlüğünün fiziksel yapısı
Daha fazla bilgi
Bu sorun hakkında daha fazla bilgi için aşağıdaki konulara bakın:
Günlük dosya yapısı veritabanı kurtarma süresini nasıl etkileyebileceğini
Hareket günlüğü VLFs - çok fazla veya çok az?
Veritabanı ikizleme – kaç sanal günlük dosyaları başlatılırken hata 1413 çok fazla mı?
İşlem günlüklerinin büyüyen ile bilinen bir sorun da:
2633151 SQL Server veritabanı işlem günlük dosyası tarafından yapılandırılan dosya büyüme değeri büyümemesine
Not: SQL Server 2014 VLF oluşturma algoritması için önemli bir değişiklik hakkında bilgi edinin:
Ürün ve bu durum SQL Server ürün sürümleri ve SQL Server örneğiniz üzerinde otomatik olarak denetleme araçları hakkında daha fazla bilgi için aşağıdaki tabloya bakın:
|Kuralı yazılımı||Kuralı başlık||Kural açıklaması||Ürün sürümleri karşı kuralın değerlendirilmesi|
|SQL Server 2008 R2 en iyi yöntem Çözümleyicisi (SQL Server 2008 R2 BPA)||Yüksek sayıda VLF var olan veritabanlarında||SQL Server 2008 R2 en iyi yöntem Çözümleyicisi (SQL Server 2008 R2 BPA) burada veritabanları çok sayıda sanal günlük dosyaları içeren durumları tespit etmek için bir kural sağlar. SQL Server 2008 R2 BPA hem SQL Server 2008 ve SQL Server 2008 R2 destekler.|
BPA aracını çalıştırın ve veritabanı motoru - VLF var, yüksek sayıda veritabanlarıyla başlığını bir hatayla karşılaşırsanız etkilenen veritabanı sanal günlük dosyası sayısını doğrulamak ve işlem günlüğü dosyalarını yeniden yapılandırmanız gerekir.
|SQL Server 2008|
SQL Server 2008 R2
|SQL Server 2012 en iyi yöntem Çözümleyicisi (SQL Server 2012 BPA)||Yüksek sayıda VLF var olan veritabanlarında||SQL Server 2012 en iyi yöntem Çözümleyicisi (SQL Server 2012 BPA) burada veritabanları çok sayıda sanal günlük dosyaları içeren durumları tespit etmek için bir kural sağlar.|
BPA aracını çalıştırın ve veritabanı motoru - VLF var, yüksek sayıda veritabanlarıyla başlığını bir hatayla karşılaşırsanız etkilenen veritabanı sanal günlük dosyası sayısını doğrulamak ve işlem günlüğü dosyalarını yeniden yapılandırmanız gerekir.
|SQL Server 2012|
Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır
Özellikler
Makale No: 2028436 - Son İnceleme: 08/07/2015 03:45:00 - Düzeltme: 5.0
Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web
- kbmt KB2028436 KbMttr