İş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 |
---|
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).
|
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)