Denetim noktaları ve günlük Active kısmı

Denetim noktaları kirli veri sayfaları diske geçerli veritabanının arabellek önbellekten temizleyin.Bu tam bir veritabanı kurtarma sırasında işlenen günlük active kısmı en aza indirir.Tam kurtarma işlemi sırasında aşağıdaki türde eylemler gerçekleştirilir:

  • Günlük kayıtlarının sistem önce diske temizlendi değişiklikler İleri alınır.

  • Günlük kaydı, var olduğu hiçbir COMMIT veya rollback hareketleri gibi tamamlanmamış işlemleri ile ilgili tüm değişiklikler geri alınır.

Denetim noktası işlemi

Bir denetim noktası veritabanında aşağıdaki işlemleri gerçekleştirir:

  • Bir kayıt denetim noktası başlatma işaretleme günlük dosyasına yazar.

  • Denetim noktası günlük kayıtlarını zincirindeki denetim kaydedilen bilgileri depolar.

    denetim noktası noktasını kaydedilen bilgileri günlük sıra numarası (SSN) başarılı bir veritabanı çapında geri almak için mevcut olması gerekir ilk günlük kaydının parçasıdır.Bu SSN Minimum kurtarma SSN (MinLSN) denir.MinLSN en az ise:

    • Denetim noktası başlangıç SSN.

    • En eski etkin hareket başlangıç SSN.

    • Henüz dağıtım veritabanı teslim en eski çoğaltma hareket başlangıç SSN.

    Denetim noktası kayıtları da veritabanı değiştirdiniz etkin hareketlerinin bir listesini içerir.

  • Veritabanı Basit kurtarma modeli kullanır, MinLSN önündeki alanı yeniden kullanılmak üzere işaretler.

  • Tüm kirli günlük ve veri sayfaları diske yazar.

  • Denetim noktası günlük dosyasının sonuna işaretleme bir kaydı yazar.

  • Bu zincir başlangıç SSN için veritabanı önyükleme sayfa yazar.

Bir denetim noktası neden etkinlikleri

Denetim noktaları aşağıdaki durumlarda oluşur:

  • Açıkça bir denetim noktası deyim yürütülür.Bağlantı için geçerli veritabanında bir denetim noktası oluşur.

  • Günlüğe kaydedilen en az bir işlem veritabanında gerçekleştirilir; Örneğin, yığın-günlüklenen kurtarma modeli kullanarak bir veritabanı üzerinde bir toplu kopyalama işlemi gerçekleştirilir.

  • Veritabanı dosyaları eklenebilir veya alter database kullanarak kaldırıldı.

  • Bir örnek , SQL Server kapatma deyim veya durdurma tarafından durdurulan SQL Server (mssqlserver) hizmet.Her veritabanındaki bir denetim noktası ya da eylem olur örnek , SQL Server.

  • Örneğini SQL Server düzenli olarak, her veritabanı örnek süreceğini kurtarmak saat azaltmak için otomatik denetim noktaları oluştururveritabanı.

  • Bir veritabanı yedek alınır.

  • Bir veritabanını kapatma gerektiren bir faaliyet gerçekleştirilir.Örneğin, auto_close açık'tır ve son kullanıcı veritabanına bağlantı kapatılmadan veya veritabanının yeniden başlatma gerektiren bir veritabanı seçeneği değişiklik yapılır.

Otomatik denetim noktaları

The SQL Server Veritabanı Altyapısı generates automatic checkpoints.Otomatik denetim noktaları arasındaki aralığı kullanılan günlük alanı miktarına bağlıdır ve saat ve son denetim noktası bu yana geçen.Otomatik denetim noktaları arasındaki saat aralığını, son derece değişken ve veritabanında birkaç değişiklik yapılırsa, uzun olabilir.Büyük miktarda veri değiştirilmiş otomatik denetim noktaları da sık sık ortaya çıkabilir.

Use Kurtarma aralığı sunucu yapılandırma seçeneği bir sunucu üzerindeki tüm veritabanları için otomatik denetim noktaları arasındaki zaman aralığını hesaplamak için örnek.Bu seçenek en fazla belirtir saat Veritabanı Altyapısı kullanılması gereken kurtarılacak bir veritabanı sırasında bir sistem yeniden başlatma.The Veritabanı Altyapısı estimates how many log records it can process in the recovery interval during a recovery operation.

Otomatik denetim noktaları arasındaki aralığı da bağlıdır kurtarma modeli:

  • Tam veya toplu oturum kurtarma modeli veritabanı kullanıyorsanız, günlük kayıtları sayısı sayısı eriştiğinde otomatik bir denetim noktası oluşturulur Veritabanı Altyapısı sırasında işleyebilir tahminleri saat içinde belirtilen Kurtarma aralığı seçeneği.

  • Veritabanı Basit kurtarma modeli kullanıyorsanız, günlük kayıtları sayısı bu iki değerden küçük olanı eriştiğinde otomatik bir denetim noktası oluşturulur:

    • Günlük yüzde 70'inin tam olur.

    • Günlük kayıtları sayısı sayısı ulaştığında Veritabanı Altyapısı sırasında işleyebilir tahminleri saat içinde belirtilen Kurtarma aralığı seçeneği.

Ayar hakkında bilgi için kurtarma aralığı, bkz: Nasıl yapılır: (sql Server Management Studio'yu) kurtarma aralığı ayarlamak.

Veritabanı Basit kurtarma modeli kullanıyorsanız otomatik denetim noktaları işlem günlüğü kullanılmayan kısmını keser.Veritabanının tam veya toplu oturum kurtarma modelleri kullanıyorsanız, ancak, günlük otomatik denetim noktaları tarafından kesilmiş değil.Daha fazla bilgi için bkz: Hareket günlüğü kesme.

İsteğe bağlı bir denetim noktası deyim sağlar checkpoint_duration istenen süre belirtir bağımsız değişken saat, saniye cinsinden denetim noktaları son.Daha fazla bilgi için bkz: Denetim noktası (Transact-sql).

Etkin günlük

MinLSN son yazılan günlük kaydı günlük dosyasına bölümünü etkin günlük verilir veya Etkin günlük.Veritabanının tam kurtarma gerçekleştirmek için gereken günlük bölümüdür.Bugüne kadar hiçbir etkin günlük kısmı kesilebilir.Tüm günlük kayıtları MinLSN önce günlüğü bölümlerinden kesilmiş olmalıdır.

Aşağıdaki resimde iki etkin işlemler ile hareket, son günlük basitleştirilmiş bir sürüm gösterir.Denetim noktası kayıtları tek bir kayıt dursa.

etkin işlemler içeren işlem sonu günlüğü

SSN 148 son işlem günlüğü kaydıdır.Kayıtlı denetim noktası SSN 147 at işlendiği saat, Tran 1 taahhüt ve Tran 2 yalnızca etkin hareket edildi.Yaptığı ilk günlük kaydı Tran 2 bir hareket için eski günlük kaydı için en etkin saat , en son denetim noktası.Bu SSN 142, Tran 2, MinLSN için başlangıç hareket kayıt yapar.

Uzun çalışan işlemleri

Etkin günlük tüm kaydedilmemiş hareketleri her bölümünü eklemeniz gerekir.Bir hareket başlatır ve onu veya geri alma yürütme bir uygulama engeller Veritabanı Altyapısı dan ilerletme MinLSN.Bu iki tür sorunlara neden olabilir:

  • Sistemi kapat, kapalı hareketi birçok kaydedilmemiş değişikliklerini gerçekleştirdikten sonra bir sonraki yeniden kurtarma aşamasında belirtilen süreden daha uzun saat alabilir Kurtarma aralığı seçeneği.

  • Günlük MinLSN kesilmiş olamaz çünkü günlük çok büyük bir HAL alabilir.Basit kurtarma modeli, işlem günlüğü genellikle üzerinde otomatik her denetim noktası kesilir, veritabanı kullanıyor olsanız bile, bu oluşur.

Çoğaltma işlemleri

İşlemsel kopyalama için yapılandırılmış her veritabanı işlem günlüğünün Günlük Okuyucu Aracısı izler ve işlem günlüğüne gelen çoğaltma için işaretlenen hareketleri kopyalar dağıtım veritabanı.Etkin günlük çoğaltma için işaretlenmiş, ancak henüz dağıtım veritabanı teslim tüm hareketleri içermelidir.Zamanında bu hareketler çoğaltılır, bunlar günlük kesilme engel.Daha fazla bilgi için bkz: Nasıl işlem çoğaltma Works.