İşlem günlüğü (SQL Server)

Her SQL Serververitabanı olan tüm hareketleri ve her hareket tarafından yapılan veritabanı değişiklikleri kaydeden işlem günlüğü. İşlem günlüğü veritabanı kritik bileşenidir ve sistem hatası varsa, işlem günlüğü veritabanı tutarlı bir duruma geri getirmek için gerekli olabilir. İşlem günlüğü silinemez veya bunu etkileri anlamadıkça taşındı.

[!NOT]

Bilinen iyi puan işlem uygulayarak başlamak için denetim noktaları tarafından günlükleri veritabanı kurtarma sırasında oluşturulur. Daha fazla bilgi için, bkz. Veritabanı denetim noktaları (SQL Server).

Bu konuda:

  • Faydaları: işlem günlüğü tarafından desteklenen işlemleri

  • Hareket günlüğü kesme

  • Minimal oturum işlemleri

  • ilişkili Görevler

  • İlişkili İçerik

Faydaları: işlem günlüğü tarafından desteklenen işlemleri

Aşağıdaki işlemleri işlem günlüğü destekler:

  • Tek tek hareketleri kurtarma.

  • Tüm tamamlanmamış işlemler kurtarma sırasında SQL Serverbaşlatılır.

  • Geri yüklenen veritabanı, dosya, filegroup veya gitme başarısızlık noktasına alınıyor.

  • Işlem çoğaltma destekleme.

  • Yüksek kullanılabilirliği ve felaket kurtarma çözümlerini destekleyen: AlwaysOn Kullanılabilirlik Grupları, yansıtma veritabanı ve günlük sevkiyat.

[Üst]

Hareket günlüğü kesme

Günlük kesilme, işlem günlüğü tarafından alanı günlük dosyasında yeniden kazandırır. Günlük kesilme dolum gelen günlük tutmak esastır. Günlük kesilme mantıksal işlem günlüğünün etkin olmayan sanal günlük dosyaları siler bir SQL Serververitabanı, fiziksel hareket \Kütüğü tarafından yeniden mantıksal günlük alanı boşaltma İşlem günlüğü asla kesildi, sonunda onun fiziksel günlük dosyaları için ayrılan disk alanını doldurmak.

Günlük kesilme nedense ertelendiği sürece bu sorunu önlemek için kesilme otomatik olarak sonra aşağıdaki olaylar oluşur:

  • Basit kurtarma modeli altında sonra bir denetim noktası.

  • Yedeklemeden sonra bir denetim noktası oluştuysa bir günlük yedekleme sonra (günlük yalnızca kopya yedekleme değilse), tam kurtarma modelini veya toplu kurtarma modeli altında kesilme oluşur.

[!NOT]

Günlük kesilme, Eğer fiziksel günlük dosyası boyutunu azaltmaz. Fiziksel günlük dosyasının fiziksel boyutunu azaltmak için günlük dosyasını daraltmanız gerekir. Fiziksel günlük dosyası boyutunu küçültme hakkında daha fazla bilgi için bkz: İşlem günlüğü dosyasının boyutunu yönetme.

Günlük kesilme geciktirebilir Etkenler

Ne zaman günlük kayıtları için a uzun zaman hareket günlüğü kesme etkin kalmasını gecikir ve potansiyel olarak işlem günlüğü dolabilir.

Önemli notÖnemli

Nasıl bir tam hareket günlüğüne yanıt hakkında daha fazla bilgi için bkz: Tam bir işlem günlük (SQL Server hata 9002) sorun giderme.

Günlük kesilme çeşitli faktörler tarafından gecikebilir. Eğer sorgulayarak Günlük kesilme bir şey engelliyor ne keşfedebilirsiniz log_reuse_wait ve log_reuse_wait_desc sütunları sys.databases Katalog görünümü. Bu sütunların değerleri aşağıdaki tabloda açıklanmaktadır.

log_reuse_wait değeri

log_reuse_wait_desc değeri

Açıklama

0

HİÇBİR ŞEY

Şu anda bir veya daha fazla kullanılabilir sanal günlük dosyaları vardır.

1

DENETİM NOKTASI

Son Günlük kesilme beri hiçbir denetim noktası oluştu veya Oturum Başkanı henüz sanal günlük dosyası taşındı değil. (Tüm kurtarma modelleri)

Günlük kesilme geciktirmek için rutin bir nedeni budur. Daha fazla bilgi için, bkz. Veritabanı denetim noktaları (SQL Server).

2

LOG_BACKUP

Günlük yedekleme, işlem günlüğünün kesildi önce gereklidir. (Yalnızca tam veya toplu oturum kurtarma modelleri)

Sonraki günlük yedekleme tamamlandığında, bazı günlük alanı yeniden kullanılabilir hale gelebilir.

3

ACTIVE_BACKUP_OR_RESTORE

Bir veri yedekleme veya geri yükleme (tüm kurtarma modelleri) sürüyor.

Yedekleme işlemi iptal etme, veri yedekleme günlük kesilme önlüyorsa, sorunun hemen yardımcı olabilir.

4

ACTIVE_TRANSACTION

Etkin bir hareket olduğu (tüm kurtarma modelleri).

  • Uzun süren işlem günlük yedekleme başlangıcında bulunmuyor olabilir. Bu durumda, alan boşaltmayı, başka bir günlük yedekleme gerektirebilir.

    NotNot
    Uzun çalışan işlemleri günlük kesilme basit kurtarma modeli altında genellikle her otomatik denetim noktası üzerinde işlem günlüğü kesilir, dahil olmak üzere tüm kurtarma modelleri altında önlemek.
  • Bir hareket ertelenmiş. A ertelenmiş işlem etkili olan geri alma nedeniyle kullanılamayan bazı kaynak engellenmiş olan etkin bir işlem olduğunu. Ertelenmiş hareketleri ve bunların Ertelenmifl devlet dışına taşınması nedenleri hakkında bilgi için, bkz: Ertelenmiş hareketleri (SQL Server).

5

DATABASE_MIRRORING

Veritabanı yansıtma duraklatıldı veya yüksek performans modu altında yansıtma veritabanı önemli ölçüde asıl veritabanı olabilir. (Yalnızca tam kurtarma modeli)

Daha fazla bilgi için, bkz. (SQL Server) yansıtma veritabanı.

6

ÇOĞALTMA

Işlem çoğaltma sırasında işlem yayınlar için ilgili hala dağıtım veritabanı teslim edilmeyen. (Yalnızca tam kurtarma modeli)

Işlem çoğaltma hakkında daha fazla bilgi için bkz: SQL Server Çoğaltma.

7

DATABASE_SNAPSHOT_CREATION

Veritabanı anlık görüntüsü oluşturuluyor. (Tüm kurtarma modelleri)

Bu bir rutin ve genellikle kısa gecikmeli Günlük kesilme nedeni.

8

LOG_SCAN

Günlük tarama is occurring. (Tüm kurtarma modelleri)

Bu bir rutin ve genellikle kısa gecikmeli Günlük kesilme nedeni.

9

AVAILABILITY_REPLICA

Bir ikincil çoğaltma kullanılabilirliğini bir grubun bu veritabanının işlem günlüğü kayıtları ilgili ikincil veritabanına uyguluyor. (Tam kurtarma modeli)

Daha fazla bilgi için, bkz. AlwaysOn kullanılabilirlik grupları (SQL Server) genel bakış.

10

Yalnızca dahili kullanım için

11

Yalnızca dahili kullanım için

12

Yalnızca dahili kullanım için

13

OLDEST_PAGE

Bir veritabanı, dolaylı denetim noktaları kullanmak üzere yapılandırılmışsa, eski veritabanını sayfasında denetim noktası lsn büyük olabilir. Bu durumda eski sayfayı Günlük kesilme geciktirebilir. (Tüm kurtarma modelleri)

Dolaylı denetim noktaları hakkında daha fazla bilgi için bkz: Veritabanı denetim noktaları (SQL Server).

14

OTHER_TRANSIENT

Bu değer şu anda kullanılmıyor.

[Üst]

Minimal oturum işlemleri

En az bir günlük hareket noktası zamanında kurtarma desteği olmadan kurtarmak için gereken bilgi günlüğü içerir. Bu konuda toplu kurtarma modeli altında (aynı zamanda yedekleme çalışırken dışında basit kurtarma modeli altında) en az oturum işlemleri tanımlar.

[!NOT]

Tam kurtarma modeli altında tam olarak tüm toplu işlemleri günlüğe kaydedilir. Ancak, geçici olarak toplu işlemler için toplu oturum kurtarma modeli veritabanı geçiş yaparak günlük toplu işlemleri kümesi için küçültebilirsiniz. En az bir günlük tam günlük daha etkilidir ve bir toplu işlem sırasında kullanılabilir hareket günlük alanı dolduran büyük ölçekli toplu işlem olasılığını azaltır. Ancak, veritabanı zarar görmüş ya da minimal günlüğü etkin olduğunda kaybetti, hata noktası veritabanına kurtaramazsınız.

Tam kurtarma modeli altında tam olarak kaydedilir, aşağıdaki işlemleri basit ve toplu oturum kurtarma modeli altında en az kaydedilir:

  • Toplu alma işlemleri (bcp, bulk INSERT, ve Ekle... select). Ne zaman bir tabloya Toplu almayı minimal oturum hakkında daha fazla bilgi için bkz: "Önkoşullar için Minimal günlüğü içinde toplu alma" bölüm içinde Toplu alma ve verme veri (SQL Server).

  • SEÇİN Into işlemleri. F

  • Kısmi güncelleştirmeleri kullanarak büyük bir değer veri türleri.YAZMA yan güncelleştirme deyimi ekleyerek veya yeni veri ekleme. Varolan değerleri güncelleştirildiğinde minimal günlüğü kullanılmadığını unutmayın. Büyük bir değer veri türleri hakkında daha fazla bilgi için bkz: Veri Türleri (Transact-SQL).

  • WRITETEXT ve updatetext ekleme ya da yeni veriyi içine deyimleri text, ntext, ve imageveri türü sütun. Varolan değerleri güncelleştirildiğinde minimal günlüğü kullanılmadığını unutmayın.

    [!NOT]

    WRITETEXT ve updatetext deyimleri onaylanmaz, bu yüzden onları yeni uygulamaları kullanmaktan kaçınmalısınız.

  • Basit veya toplu oturum kurtarma modeli veritabanı ayarlamak, çevrimiçi veya çevrimdışı işlemi yürütülür olup olmadığını, bazı dizin ddl işlemleri minimal olarak günlüğe kaydedilir. Minimal oturum dizin işlemleri aşağıdaki gibidir:

    • create INDEX işlemleri (dizin oluşturulmuş görünümler dahil).

    • alter INDEX yeniden oluşturma veya dbcc DBREINDEX işlemleri.

      [!NOT]

      Öylesine sen-meli kaçmak istimal o-e doğru yeni uygulamalarda dbcc DBREINDEX deyimi önerilmiyor.

    • drop INDEX yeni yığın yeniden (varsa).

      [!NOT]

      Dizin sayfası kaldırma sırasında bir drop INDEX işlemi her zaman tam olarak kaydedilir.

[Üst]

ilişkili Görevler

Managing the transaction log

Hareket günlüğü (tam kurtarma modeli) yedekleme

Günlüğü (tam kurtarma modeli) geri yükleme

[Üst]

İlişkili İçerik

Hiçbiri

[Üst]

Ayrıca bkz.

Kavramlar

Toplu alma Minimal günlüğü için Önkoşullar

Yedekleme ve geri yükleme SQL Server veritabanları

Veritabanı denetim noktaları (SQL Server)

Veritabanı özelliklerini görüntüleme veya değiştirme

Kurtarma modelleri (SQL Server)