Aracılığıyla paylaş


Denetim noktaları ve günlük Active bölümü

Denetim noktaları kirli veri sayfaları diske geçerli veritabanının arabelleği önbelleğinden temizleme.Bu, tam bir veritabanı kurtarma sırasında işlenmelidir günlüğü etkin bölümü azaltır.Tam kurtarma sırasında aşağıdaki türde eylemler gerçekleştirilir:

  • Günlük kayıtlarının değişiklikler Sistem durdurulmuş önce diske boşaltıldı öne alınır.

  • Kayıt, var olan hiçbir yürütme veya ROLLBACK hareketleri günlüğe gibi tamamlanmamış işlemler ile ilişkili 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şlangıcını işaretleme günlük dosyasına yazar.

  • Denetim günlük kayıtları zincirindeki bir denetim noktası için kaydedilen bilgileri depolar.

    Bir denetim noktası kaydedilen günlük sıra numarası (SSN) başarılı bir veritabanı çapında geri almak için bulunmalı ilk günlük kaydının bilgidir.Bu SSN minimum kurtarma SSN (MinLSN) olarak adlandırılır.En küçüğünü MinLSN olan:

    • Denetim noktası başlangıç SSN.

    • Eski etkin işlem başlangıç SSN.

    • SSN henüz dağıtım veritabanına teslim edildi değilse eski çoğaltma işleminin başlangıcı.

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

  • Veritabanı Basit kurtarma modeli kullanır, yeniden kullanılmak üzere MinLSN önündeki boşluk olarak 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 zincirinin başlangıcı SSN veritabanı önyükleme sayfasına yazar.

Bir denetim noktası neden olan faaliyetler

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

  • Bir DENETIMNOKTASı deyim açıkça yürütülür.Bağlantı için geçerli veritabanındaki BIR denetim noktası oluşur.

  • En az kütüğe kaydedilmiş bir işlem, veritabanında yapılır; Bu, bir toplu işlemi, Toplu Kaydedilmiş kurtarma modeli kullanarak bir veritabanı üzerinde gerçekleştirilir.

  • Veritabanı dosyaları eklenen veya ALTER DATABASE kullanarak kaldırıldı.

  • örnek SQL Server SHUTDOWN bir deyim veya durduruluyor durdurulmuş SQL Server (MSSQLSERVER) hizmet. Her iki eylem her veritabanı örneğinin neden olan bir denetim noktası SQL Server.

  • Örneği SQL Server belirli aralıklarla otomatik denetim noktaları örnek veritabanını kurtarmak için götürecek süreyi azaltmak istiyorsanız, her veritabanı oluşturur.

  • Bir veritabanı yedeklemesini geri alınır.

  • Bir veritabanı kapatma gerektiren bir aktiviteyi gerçekleştirilir.Örneğin, AUTO_CLOSE AÇıK'tır ve son kullanıcı veritabanı bağlantı kapatıldı veya veritabanının bir yeniden başlatma gerektiren bir veritabanı seçeneğini değişiklik yapılan.

Otomatik denetim noktaları

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

Use Kurtarma aralığı bir sunucu üzerindeki tüm veritabanları için otomatik denetim noktaları arasındaki süreyi hesaplamak için sunucu yapılandırma seçeneği. Bu seçenek, en yüksek belirtir saat Database Engine Sistem yeniden başlatma sırasında bir veritabanını kurtarmak için kullanmanız gerekir. The Database Engine estimates how many log records it can process in the kurtarma aralığı during a recovery operation.

Otomatik denetim noktaları arasındaki aralığı ayrıca kurtarma modeline bağlıdır:

  • Günlük kayıtlarının sayısı numarasını eriştiğinde veritabanının tam veya toplu günlük kurtarma modeli kullanıyorsanız, otomatik bir denetim noktası oluşturulur Database Engine Belirtilen saat boyunca işleyebileceğinden tahminleri Kurtarma aralığı seçeneği.

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

    • Günlük, yüzde 70'olur.

    • Günlük kayıtlarının sayısı numarasını eriştiği Database Engine Belirtilen saat boyunca işleyebileceğinden tahminleri Kurtarma aralığı seçeneği.

Kurtarma aralığını ayarlama hakkında daha fazla bilgi için bkz: Nasıl Yapılır: (SQL Server Management Studio'yu) kurtarma aralığı küme.

Veritabanı basit kurtarma modeli kullanıyorsanız, otomatik denetim noktaları işlem günlüğü dosyasının kullanılmayan bölümü kesecek.Veritabanının tam veya toplu oturum kurtarma modelleri kullanıyorsanız, ancak günlük otomatik denetim noktaları tarafından kesildi değil.Daha fazla bilgi için bkz:Hareket günlüğü kesme.

Şimdi DENETIMNOKTASı deyim isteğe bağlı bir alan sağlar checkpoint_duration istenen belirtir bağımsız değişkeni saat, saniye cinsinden tamamlamak, denetim noktaları. Daha fazla bilgi için bkz:DENETIMNOKTASı (Transact-SQL).

Etkin günlüğü

En son yazılan günlük kaydı için MinLSN günlük dosyasından bölümünü etkin, günlüğün verilir veya Etkin günlük.Veritabanının Tam kurtarma için günlük bölümüdür.Hiçbir bölümü, etkin günlüğün her zamankinden fazlalıklar.MinLSN önce günlük bölümlerini gelen tüm günlük kayıtlarının fazlalıklar gerekir.

Aşağıdaki çizimde, iki etkin hareketler içeren işlem, son günlük Basitleştirilmiş bir sürüm gösterir.Denetim noktası kaydı için tek bir kayıt sıkıştırıldıktan.

end-of-a-transaction log with active transactions

SSN 148 hareket günlüğündeki son bir kayıttır.SSN 147 sırasında kaydedilen denetim noktası işlendi saat Tran 1 kaydedilmiş ve Tran 2 yalnızca etkin işlem oluştu.Ilk günlük kaydının Tran 2 bir hareket için en eski günlük kaydı sırasında etkinleştirir saat, son denetim noktası.Bu, SSN 142, Tran 2, the MinLSN başlangıç işlem kayıt yapar.

Uzun süre çalışan işlem

Etkin günlük kaydedilmemiş olan tüm hareketleri her bölümünü eklemeniz gerekir.Bir hareket başlatır ve, veya Top geri kaydedilmeye bir uygulama engeller Database Engine MinLSN ilerletme gelen. Bu, iki tür bir sorun neden olabilir:

  • Hareket birçok kaydedilmemiş değişiklikler gerçekleştirdikten sonra Sistem kapatıldığında, sonraki yeniden kurtarma aşamasında belirtilen süreden daha uzun sürebilir Kurtarma aralığı seçeneği.

  • Günlük MinLSN kesildi çünkü, günlüğe çok büyük ulaşması.Bu veritabanı Basit kurtarma modeli, işlem günlüğü genellikle her bir otomatik denetim noktası kesildi, kullanıyor olsa da oluşur.

Çoğaltma işlemleri

Günlük Okuyucu Aracısı işlem çoğaltma için yapılandırılmış her veritabanı işlem günlüğünün izler ve bu işlem günlüğüne Çoğaltmada için işaretlenen hareketleri kopyalar dağıtım veritabanı.Etkin günlük çoğaltma için işaretlendi, ancak henüz veritabanına dağıtım teslim edilmeyen tüm hareketleri içermesi gerekir.Zamanında bu hareketler çoğaltılır, bunlar işlem günlüğünün kesilmesi engelleyebilirsiniz.Daha fazla bilgi için bkz:Nasıl bir işlem çoğaltma Works.