Belirtiler
Bir Microsoft SQL Server 2012 veya SQL Server 2014 veritabanında AlwaysOn kullanılabilirlik grubunu kullandığınızı, büyük bir açık etkin işlemi var olduğunu ve ek günlük alanı gerektirdiğini varsayalım. Günlük dosyası aşağıdaki nedenlerden biriyle büyüyemezse işlem başarısız olur.
-
Ek dosya alanı yetersizliği
-
Günlük dosyası büyütülemediği şekilde yapılandırıldı
-
Günlük dosyası, yapılandırılmış en büyük boyutuna ulaştı
Ayrıca, aşağıdaki hata iletisini alırsınız:
Hata: 9002, önem derecesi: 17, durum: 9. ' <veritabanı adı> ' veritabanı için işlem günlüğü ' log_backup ' nedeniyle dolu.
Günlük yedeklemesini çalıştırdıktan sonra, başka bir 9002 hata iletisi alırsınız:
Hata: 9002, önem derecesi: 17, durum: 9. ' <veritabanı adı> ' veritabanı için işlem günlüğü ' ACTIVE_TRANSACTION ' nedeniyle dolu.
Başka bir günlük yedeklemesinden sonra, başka bir 9002 hata iletisi ve ardından 5901 hata iletisi alırsınız:
Hata: 9002, önem derecesi: 17, durum: 9. ' <veritabanı adı> ' veritabanı için işlem günlüğü ' AVAILABILITY_REPLICA ' nedeniyle dolu.
Günlükte yer kalmadığından <veritabanı adı> denetim noktası kaydı yazılamadı. Günlüğü kesmek veya veritabanı günlük dosyalarına daha fazla alan ayırmak için veritabanı yöneticisine başvurun. Hata: 5901, önem derecesi: 16, durum: 1. ' <veritabanı adı> ' veritabanına ait bir veya daha fazla kurtarma birimi denetim noktası oluşturamadı. Bu durum genellikle, disk veya bellek gibi sistem kaynaklarının bulunmaması veya bazı durumlarda veritabanı bozulması nedeniyle yapılır. Bu hatayla ilgili daha ayrıntılı bilgi için hata günlüğündeki önceki girişleri inceleyin.
İşlem geri alındığında, sonraki denetim noktası veya günlük yedekleri alındığında, aşağıdaki hata iletisini alabilirsiniz:
İleti 3052, düzey 16, durum 1, çizgi 4YEDEKLEME günlüğü ' <veritabanı adı> ' veritabanının güncelleştirmelerini günlüğe kaydedemedi. Günlük alanı günlüğe kaydedildikten sonra ' <LSN kimliği 1> ' olan yedekleme noktasını ' <LSN kimliği 2> ' ile ilerletmek için sonraki günlük yedekleri gerekir.
Bu iletileri aldığınızda, veritabanına yeni işlemler gönderemeyebilir ve günlük dosyasını büyütmez veya başka bir günlük dosyası ekleyemezsiniz.
Çözüm
Sorun ilk kez SQL Server 'ın aşağıdaki toplu güncelleştirmesinde giderilmiştir:
Her bir SQL Server toplu güncelleştirmesi, önceki toplu güncelleştirmeyle birlikte gelen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. En son SQL Server güncelleştirmelerini indirip yüklemenizi öneririz:
Geçici Çözüm
Günlükleri ve Sürdür etkinliğini kesmek için aşağıdaki geçici çözümü kullanabilirsiniz.
-
İkincil çoğaltma last_hardened_lsn doğrulamak için her ikincil yinelemeyi denetleyin ( sys.dm_hadr_database_replica_states) birincil çoğaltma last_hardened_lsneşleşir. Bu işlemi, birincil kopya örneği ile bağlantılı aşağıdaki sorguyu çalıştırarak yapabilirsiniz
SELECT ags.name as AGGroupName, ar.replica_server_name as InstanceName, hars.role_desc, db_name(drs.database_id)as DBName, drs.last_hardened_lsn, drs.log_send_queue_size, drs.synchronization_state_desc as SyncState, ar.availability_mode_desc as SyncMode, CASE drs.is_local WHEN 1 THEN drs.database_id ELSE NULL END as database_id FROM sys.dm_hadr_database_replica_states drs LEFT JOIN sys.availability_replicas ar ON drs.replica_id = ar.replica_id LEFT JOIN sys.availability_groups ags ON ar.group_id = ags.group_id LEFT JOIN sys.dm_hadr_availability_replica_states hars ON ar.group_id = hars.group_id and ar.replica_id = hars.replica_id WHERE db_name(drs.database_id) = '<database name>'
-
Birincil yinelemede
-
Veritabanını kullanılabilirlik grubundan kaldırın.
-
Veritabanını kullanılabilirlik grubuna yeniden ekleyin.
-
-
Her ikincil yinelemede
-
Veritabanını kullanılabilirlik grubuna yeniden ekleyin.
-
Veritabanını, kullanılabilirlik grubundan kaldırarak, hemen günlüklerini keser ve günlük alanı boşaltacaktır. Her bir ikincil yinelemede last_hardened_lsn birincil yinelemeyle aynı olursa ve veritabanı kullanılabilirlik grubundan kaldırılması sırasında günlük yedeklemesi alınmazsa ve veritabanını her ikincil bilgisayarda yeniden eklerseniz, ikincil çoğaltma herhangi bir hata olmadan yeniden eklenir veya ikincil sunucudaki günlük yedeklemelerini geri yüklemek gerekmez. İkincil bir çoğaltma birincil yinelemeyle güncel değilse ve ikincili yakalayamadan önce veritabanını kullanılabilirlik grubundan kaldırmanız gerekiyorsa, bu ikincil çoğaltmanın, kullanılabilirlik grubuna yeniden eklemeden önce günlüğü geri yüklemek için günlük yedeklemelerinin geri yüklenmesi gerekebilir ya da veritabanını ikincil çoğaltmaya yeniden ekleyin ve veritabanını ikincil kopyaya bırakın
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.