Aracılığıyla paylaş


Fiziksel işlem günlüğü mimarisi

Işlem günlüğü, veritabanının ve veri kurtarma için veri bütünlüğünü sağlamak için kullanılır.Bu bölümdeki konular, işlem günlüğünün fiziksel mimarisi hakkında bilgiler sağlar.Fiziksel mimarisini anlama, işlem günlüklerinin yönetirken, verimliliği artabilir.

Işlem günlüğü bir veritabanında üzerinde birini eşleştiren ya da daha fazla fiziksel bir dosya.Kavramsal açıdan, günlük dosyası, günlük kayıtlarının dize.Fiziksel olarak günlük kayıtlarının sırası, verimli bir şekilde saklanan küme, işlem günlüğünün fiziksel bir dosya.

The SQL Server Database Engine divides each physical log file internally into a number of virtual log files.Sanal günlük dosyaları sabit boyut olması ve sabit sayı, sanal günlük dosyaları için fiziksel bir günlük dosyası yok.The Database Engine chooses the size of the virtual log files dynamically while it is creating or extending log files.The Database Engine tries to maintain a small number of virtual files.Genişletilmiş günlük dosyası sonra sanal dosyalarının boyutunu varolan günlüğü boyutunu ve yeni dosyayı artış boyutunu toplamıdır.Sanal bir günlük dosyası sayısını ve boyutunu olamaz yapılandırılmış veya Yöneticiler tarafından ayarlayın.

Günlük dosyaları küçük tarafından tanımlanır, sanal günlük dosyaları, sistem performansını etkiler yalnızca saat olarak tanımlanır. size ve growth_increment Değerler. Bu günlük dosyaları nedeniyle çok sayıda küçük adımlarla büyük bir boyuta Büyüt, bunlar çok sayıda sanal günlük dosyaları sahip olacaktır.Bu veritabanı başlatma ve aynı zamanda günlük yedeği yavaş ve geri yükleme işlemleri.Günlük dosyalarının atadığınız öneririz bir size son boyutuna yakın bir değere gerekir ve ayrıca oldukça büyük olan growth_increment Değer

Işlem günlüğü etrafında kaydırma dosyadır.Örneğin, fiziksel bir günlük dosyası sanal günlük dosyalarıyla dört ayrılmış olan bir veritabanı göz önünde bulundurun.Mantıksal bir günlük dosyası, veritabanı oluşturulduğunda, fiziksel günlük dosyası başlangıcında başlar.Yeni günlük kayıtları mantıksal günlüğünün sonuna eklenir ve fiziksel günlüğe sonuna doğru genişletin.Günlük kesilme herhangi bir sanal sıra numarası (MinLSN) tüm minimum kurtarma önünde görünür kayıtları oturum günlükleri'ni açar.The MinLSN is the günlük sıra numarası of the oldest log record that is required for a successful database-wide rollback.Işlem günlüğü Örnek veritabanında benzer aşağıdaki şekilde görünecektir.

Log file divided into four virtual log files

Mantıksal günlüğünün sonuna fiziksel günlük dosyasının sonuna ulaştığında, yeni günlük kayıtları geçici fiziksel günlük dosyasının başlangıcına kaydır.

Log records wrap around to start of log file

Mantıksal günlüğünün sonuna, hiçbir zaman mantıksal günlük başına eriştiği sürece bu döngüsü sonsuza dek, yineler.Eski günlük kayıtlarının her zaman izin yeterli yer sonraki denetim noktası ile oluşturulan tüm yeni günlük kayıtları için yeterli sıklıkta kesiliyor günlük hiçbir zaman doldurur.Mantıksal günlüğünün sonuna mantıksal günlük başlangıcı ulaşma, ancak iki şeyden birini oluşur:

  • Dosyayı FILEGROWTH ayarı, günlük dosyası için etkinleştirilir ve diskte kullanılabilir alan belirtilen tutara göre genişletilir growth_increment ve yeni günlük kayıtları için uzantısı eklenir.FILEGROWTH ayarı hakkında daha fazla bilgi için bkz: ALTER DATABASE Transact-SQL).

  • FILEGROWTH ayarı etkin değildir veya günlük dosyasını içeren disketi belirtilen tutardan daha az bir boş alan growth_incrementHata 9002 oluşturulur.

Günlük, birden çok fiziksel günlük dosyası varsa, önce onu ilk fiziksel günlük dosyasının başlangıcına geri sarar mantıksal günlük fiziksel tüm günlük dosyaları taşınır.