Ö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.
Microsoft SQL Server'ın bir örneğini başlatmak veya geri yükleme veya bir veritabanını iliştirmek, aşağıdakine benzer bir 9017 bilgilendirme iletisi SQL Server hata günlüğüne kaydedilir:
Veritabanı dbName sahip birden fazla n aşırı sanal günlük dosyaları. Çok sayıda sanal günlük dosyaları uzun başlatma ve yedekleme süreleri neden olabilir. Günlüğünü daraltma ve farklı büyüme artışı sanal günlük dosyası sayısını azaltmak için kullanmayı düşünün.
Çok sayıda sanal günlük dosyaları, veritabanı kurtarma zaman olumsuz etkileyebilir.
Ayrıca, çoğaltma veya veritabanı ikizleme teknoloji ortamınızda kullanırsanız, bu teknolojiler ile ilgili performans sorunları fark edebilirsiniz.
Her fiziksel bir günlük dosyası, SQL Server Database Engine birkaç sanal günlük dosyaları (VLFs) dahili olarak böler. SQL Server 2008 R2 Service Pack 2 ve sonraki sürümlerinde bir veritabanı (SQL Server örneğini başlatma nedeniyle veya ekleme veya veritabanını geri yükleme) başlar ve 1. 000'den fazla VLFs SQL Server 2008 R2'de veya 10. 000'den fazla VLFS SQL Server 2012'de, oturum açmış yeni bir ileti (9017) kullanılmaya başlandı.
NotSQL Server 2012'de 10.000 VLFs veritabanı varsa, bu ileti günlüğe kaydedilir, ancak hata günlüğüne yanlış bildirilen gerçek ileti "1000 VLF" belirtmektedir. Temel olarak, uyarı 10.000 VLFs sonra oluşur. Ancak, ileti 1.000 VLFs bildirir. Bu sorun, gelecekteki bir sürümde düzeltilecektir.
Nasıl VLFs artan sayıda çoğaltma veya yapılandırmaları yansıtma veritabanı performans sorunları neden olabilir hakkında daha fazla bilgi için "Ek bilgi" bölümüne bakın.
Çözüm
Bu sorunu gidermek için şu adımları izleyin:
İşlem günlüğünü kullanarak azaltın DBCC SHRINKDB veya SQL Server Management Studio'yu kullanarak.
Sık sık otomatik growths önlemek için daha büyük bir değer için işlem günlüğü dosyasının boyutunu artırın. Daha fazla bilgi için SQL Server Books Online'da Web sitesindeki şu konuya bakın:
Bir veritabanında VLF kesimlerinin sayısını denetleme
Bir veritabanında, veritabanı için en erken ve en son günlük sıra sayılarını (LSNs) işlem günlüğü yedekleri arasındaki farkı bularak VLF kesimlerinin sayısını bulabilirsiniz.
SQL Server hata günlüğüne aşağıdakine benzer bir ileti için kontrol ederek, işlem günlüğü yedeklemesini LSN bulabilirsiniz:
{Günlük yedeklendi. Veritabanı: mydbname, creation_date_(time): Tarih(saat), ilk LSN: 1: 5068:70, son LSN: 1: 5108:1, döküm aygıtları sayısı: 1, aygıt bilgileri: (dosya = 1, türü = DISK: {'C:\folder\logbackup1.trn'}). Yalnızca bir bilgi iletisi budur. Kullanıcı eylemi gereklidir.
NotBu iletide, işlem günlüğünün LSN1' dir. (Onu ilk önce ilk iki nokta üst üste sayıdır "LSN: 1:5068:70.")
Bunu yapmak için şu adımları izleyin:
LSN earliesttransaction günlük yedekleme veritabanı, SQL Errorlog bulmak (örneğin, LSN: 1:5108:1).
Son LSN için işlem günlüğü yedeklemesini SQL Errorlog içinde Bul (örneğin, LSN:10, 235: 5108: 1).
VLF kesimlerinin sayısını son LSN erken LSN arasında bir fark olduğunu (Bu durumda, 10,235-1 ise 10,234 =).
VLFs çok sayıda çoğaltma üzerindeki etkisi
Her sanal günlük dosyası çoğaltma için işaretlenen hareketleri için günlük okuyucu işlemi tarama gerekir çünkü çok fazla günlük dosyaları çoğaltma etkileyebilir. Bu davranış, sp_replcmds saklı yordam performansını izleyerek görebilirsiniz. Sp_replcmds saklı yordam, çoğaltma için işaretlenen hareketleri okumak için ve sanal günlük dosyaları taramak için günlük okuyucu işlemi kullanır. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
949523 "Başlangıç boyutu" özelliğinin değeri ve Autogrowth özelliğinin değeri olduğunda küçük gecikme işlemsel kopyalama SQL Server 2005'te yüksek
VLFs birçok veritabanı yansıtma üzerinde etkisi
Çok fazla günlük dosyaları, veritabanı ikizleme da etkileyebilir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2455009Düzeltme: SQL Server 2005, SQL Server 2008 veya SQL Server 2008 R2'de işlem günlüğü içinde pek çok VLFs varsa bir veritabanını kurtarmak yavaş performans
Referanslar
Daha fazla bilgi için Microsoft Developer Network (MSDN) Web sitesinde aşağıdaki konulara bakın: