Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Konu yalnızca tam kurtarma modeli veya toplu kayıtlı kurtarma modeli için geçerlidir.
Bu konu, SQL Server veritabanının geri yüklenmesinin bir parçası olarak işlem günlüğü yedeklemelerinin uygulanmasını açıklar.
İşlem günlüğünün geri yüklenmesi için gereksinimler
İşlem günlüğü yedeklemesi uygulanmak için aşağıdaki gereksinimlerin karşılanması gerekir:
Geri Yükleme Dizisi için yeterli günlük yedeklemesi : Bir geri yükleme dizisini tamamlamak için yeterli günlük kaydınızın yedeklenmesi gerekir. Gerekli günlük yedeklemeleri, gerekirse tail-log yedeklemesi dahil, geri yükleme dizisi başlamadan önce hazır olmalıdır.
Doğru geri yükleme sırası: Hemen önceki tam veritabanı yedek veya diferansiyel veritabanı yedeklemesi önce geri yüklenmelidir. Sonra, tam veya diferansiyel veritabanı yedeklemesinden sonra oluşturulan tüm işlem kayıtları kronolojik sırayla geri yüklenmelidir. Bu log zincirindeki bir işlem günlüğü yedeği kaybolursa veya zarar görürse, eksik işlem günlüğünden önce sadece işlem günlüklerini geri getirebilirsiniz.
Henüz kurtarılmamış veritabanı: Veritabanı, nihai işlem kaydı uygulanana kadar geri alınamaz. Günlük zincirinin sonuna gelmeden önce ara işlem günlüğü yedeklerinden birini geri yükledikten sonra veritabanını kurtarırsanız, tam veritabanı yedeğinden başlayarak tüm geri yükleme sırasını yeniden başlatmadan veritabanını bu noktadan öteye geri yükleyemezsiniz.
Tip
En iyi uygulama, tüm günlük yedeklemelerini geri yüklemektir (
RESTORE LOG *database_name* WITH NORECOVERY). Ardından, son işlem günlüğü yedeğini geri yükledikten sonra, veritabanını ayrı bir işlemde kurtarın (RESTORE DATABASE *database_name* WITH RECOVERY).
Kurtarma ve işlem kayıtları
Geri yükleme işlemini tamamlayıp veritabanını kurtardığınızda, veritabanının bütünlüğünü sağlamak için kurtarma süreci yürütülür. Kurtarma işlemi hakkında daha fazla bilgi için bkz. Geri Yükleme ve Kurtarma'ya Genel Bakış (SQL Server).
Kurtarma süreci tamamlandıktan sonra veritabanı çevrimiçi olur ve veritabanına daha fazla işlem kaydı yedek uygulanamaz. Örneğin, bir dizi işlem günlüğü yedeklemesi uzun süreli bir işlem içerir. İşlemin başlangıcı ilk işlem günlüğü yedeklerinde kaydedilirken, işlemi bitirdiği ikinci işlem günlüğü yedeklerinde kaydedilir. İlk işlem günlüğü yedeklemesinde bir commit veya geri alma işleminin kaydı yoktur. Bir kurtarma işlemi ilk işlem günlüğü yedeklemesi uygulandığında çalıştırılırsa, uzun süreli işlem eksik olarak kabul edilir ve işlem için ilk işlem günlüğü yedeklemesinde kaydedilen veri değişiklikleri geri alınır. SQL Server, bu noktadan sonra ikinci işlem günlüğü yedeklemesinin uygulanmasına izin vermez.
Note
Bazı durumlarda, log geri yükleme sırasında açıkça bir dosya ekleyebilirsiniz.
Arıza noktasına kadar geri yüklemek için işlem günlüğü yedeklerini kullanın
Aşağıdaki olaylar dizisini varsayalım.
| Time | Event |
|---|---|
| 08:00'de. | Veritabanını yedekleyerek tam bir veritabanı yedeği oluşturun. |
| Öğle | İşlem günlüğünü yedekleyin. |
| 16:00'da. | İşlem günlüğünü yedekleyin. |
| 18:00 | Tam bir veritabanı yedeği oluşturmak için veritabanını yedekleyin. |
| 20:00'de. | İşlem günlüğünü yedekleyin. |
| 21:45 | Başarısızlık olur. |
Bu örnek yedekleme dizisi için Transaction Log Backups (SQL Server) bölümüne bakınız.
Veritabanını 21:45'teki (arıza noktası) durumuna geri getirmek için aşağıdaki alternatif prosedürlerden biri kullanılabilir:
Alternatif 1: Veritabanını en güncel tam veritabanı yedeklemesini kullanarak geri yüklemek
Arıza anı itibarıyla geçerli etkin işlem günlüğünün tail-log yedeğini oluşturun.
Sabah 8:00 tam veritabanı yedeklerini geri yüklemeyin. Bunun yerine, daha güncel 18:00 tam veritabanı yedeklerini geri getirin ve ardından 8:00 P.M. log yedeklemesini ve tail-log yedeklemesini uygulayın.
Alternatif 2: Veritabanını daha önceki tam bir veritabanı yedeklemesi kullanarak geri yüklemek
18:00’de alınan tam veritabanı yedeğini kullanmanızı bir sorun engelliyorsa, bu alternatif işlem yararlıdır. Bu süreç, saat 18:00 tam veritabanı yedeklemesinden geri yüklemeye göre daha uzun sürer.
Arıza anı itibarıyla etkin işlem günlüğünün bir tail-log yedeğini oluşturun.
Saat 8:00 tam veritabanı yedeklerini geri getirin ve ardından dört işlem günlüğünün tamamını sırayla geri getirin. Bu, tamamlanan tüm işlemleri 21:45'e kadar ileriye götürür.
Bu alternatif, bir dizi tam veritabanı yedeği boyunca işlem günlüğü yedekleri zincirinin sürdürülmesinin sağladığı ek korumayı vurgular.
Bazı durumlarda, işlem kayıtlarını kullanarak veritabanını belirli bir zamana geri yüklemek de yapabilirsiniz. Daha fazla bilgi için, SQL Server Veritabanını Belirli Bir Zamandaki Noktaya Geri Yükleme (Tam Kurtarma Modeli) bölümüne bakın.
İlgili görevler
İşlem günlüğü yedeklemesini uygulamak için
Kurtarma noktanıza geri yüklemek için
Tam Kurtarma Modeli Altında Veritabanını Hata Noktasına Geri Yükleme (Transact-SQL)
SQL Server Veritabanını Belirli Bir Noktaya Geri Yükleme (Tam Kurtarma Modeli)
SqlRestore (SMO)
WITH NORECOVERY kullanarak yedekleri geri yükledikten sonra bir veritabanını kurtarma