SQL Server'ı tam kurtarma modunda kullanıyoruz. Tam bir yedekleme ve bir dizi günlük yedeklemesi göz önüne alındığında, günlük zincirinin son tam yedeklemeden geçerli kuyruk günlüğüne tamamlanıp tamamlanmadığını kontrol edebilmek istiyoruz. (Bu yedekleri gerçekten geri yüklemeden, buradaki amaç yedeklerin tutarlılığını test etmektir.)
Mevcut yedeklemeler için bunu nasıl yapacağımı zaten biliyorum: HEADERONLY RESTORE kullanarak, uyumlu olup olmadığını belirlemek için ardışık dosyalar için karşılaştırılabilir her dosyanın FirstLSN ve LastLSN olsun.
Ancak, kuyruk günlüğünün son günlük yedeklemesini izleyip izlemediğini nasıl denetleyeceğimi bilmiyorum.
Kuyruk günlüğünün FirstLSN'sine sahip olsaydım, bunu son günlük yedeklemesinin LastLSN'si ile karşılaştırabilirdim. Fakat kuyruk kütüğünün FirstLSN'sini nasıl alabilirim?
SQL Server 2005'ten (ideal olarak t-sql kullanarak) çalışan bir çözüme ihtiyacım var. Şimdiye kadar Google'ı boşuna aradım. Btw. Bunu ilk olarak stackoverflow'a gönderdim; ancak konu dışı olarak işaretlendiğinden buraya taşıdı.
DÜZENLE
Sağlanan iki çözümü küçük bir örnek üzerinde denedim (SQL Server 2005, 9.0.5057):
BACKUP DATABASE TestDb TO DISK = 'C:\temp\backup test\Full.bak'
-- fire some update queries
BACKUP LOG TestDb TO DISK = 'C:\temp\backup test\Log1.bak'
-- fire both queries from the provided answers:
-- Martin Smith's answer yields: 838886656088920652852608
-- Shawn Melton's answer yields: 46000000267600001
RESTORE HEADERONLY FROM DISK = 'C:\temp\backup test\Log1.bak'
-- yields: 46000000267600001
Öyleyse birincisi birkaç büyüklük sırası tarafından kapalı görünüyor.
Daha sonra aynı testi SQL 2008 SP1'de (10.00.2531) yaptım, burada her iki sorgu da doğru cevabı verdi.