Share via


Kurtarma yolları

Fark ya da günlük yedeklemeler kullanıyorsanız ve size bir veritabanını önceki bir noktaya saat aşağıdaki yöntemlerden birini kurtarmak kurtarma yollarýný anlamak önemlidir:

  • Bir noktası gerçekleştirme-de-saat geri yükleme

  • Tüm günlüğü yedekleri yüklemeden kurtarma gerçekleştirme veya en son değişiklik yedeği.

Bir veritabanını bir önceki kurtarma noktası ve bu noktadan veritabanı kullanarak başlangıç kurtarmak, yeni bir kurtarma yol kaynaklanır.The recovery path is the sequence of data and log backups that have brought a database to a particular point in time, either by regular database use or by a specific data and log restore.Veritabanı üzerinden evolved belirli dönüşümleri benzersiz küme kurtarma yol oluşan saat, henüz veritabanının tutarlılığını saklanır.Aşağıdaki resimde bir kurtarma noktası ve ortaya çıkan kurtarma yolları arasındaki ilişkiyi gösterir.

Kurtarma noktası ve ortaya çıkan kurtarma yolları

Veritabanı için geri çünkü aşağıdaki durumlarda yeni bir kurtarma yol oluşturun "sonuna kadar saat".Yedekleri yok bundan sonra tümü, aynı aralık LSNs kullanan iki veya daha fazla kurtarma yolları kapalı veritabanına alabilir.

  • Tam veritabanı yedeğini geri yükleme ve diğer türlü yedek kullanmadan veritabanı kurtarma.

  • Son olarak, veritabanı kurtarma bir değişiklik yedeği dışında en son değişiklik yedeği.

  • Tam veritabanı geri yükleme yedek ve fark veritabanı yedek ve varolan işlem günlük uygulamadan veritabanı kurtarma yedeks.

  • Sonunda, en son işlem günlüğü yedeklemesinden dışında hareket günlük yedeği veritabanı kurtarma.

  • Belirli saat veya işaretli bir hareket içinde hareket günlük yedeği veritabanı kurtarma.

Genel olarak, bir kurtarma noktası yeni başlayan kurtarma yol geri alınması hareketleri kurtarma noktası neden olursa.Varolan dosyadan yeniyse yedeklemeleri günlük sıra numarası (LSNs) SSN büyük bu kurtarma noktası şimdi olabilir.LSNs bu yedekleri de farklı bir üzerinde mevcut kurtarma dalı dan geçerli kurtarma işlemi tarafından oluşturulan yeni bir dalı.

En iyi yöntemi oluşmasını önlemek için bir kurtarmak yol , birden fazla kurtarmak çatallarını sahip, eksiksiz bir veri yedekleme küme veritabanı kurtardıktan sonra mümkün olan en kısa sürede gerçekleştirmek.Bu yaklaşım, bir tek kurtarma dalı tüm yedekleri alınır garanti eder.Bunu doğrulamak için bakabilirsiniz last_recovery_fork_guid sütun , backupset tablo veya restore headeronly sonuçlar küme verileri yedekledikten sonra.

Bir kurtarma yolu örneği

Başlangıçta, bir veritabanının tüm yedeklemeleri tek bir form kurtarma yol, aşağıdaki şekilde gösterildiği gibi.Bu şekilde kurtarma yolu bir veritabanı yedeksini içerir saat t1 ve t2, t3 ve t4 saat saat çekilen üç günlüğü yedekleri alınır.

Özgün kurtarma yolu

Bir kurtarma çatalı aşağıda gösterilmiştir sonuçlar karşı saat içinde eski bir noktaya veritabanı kurtarma.yedek t4 nedenleri ile ilgili bir sorun veritabanı yöneticisi sonunda, t3 günlük yedeği veritabanı kurtarmak.Bu geri yükleme, Kurtarma çatalı olur.saat t5 yeni bir kurtarma dalı, Kurtarma şube 2 yeni günlük yedeği başlatılır.

İkinci kurtarma dalının oluşturulması

Not

T5 günlük yedeği kurtarma dalı 1 t3 günlük yedeği için bu yedek bağlayan kurtarma çatalı meta veriler içerir."Kurtarma çatalları yönetme," Kurtarma çatalı meta veriler hakkında daha fazla bilgi için bkz: Bu konuda daha sonra.

Önceki resimde gösterilen örnek oluşturur Yeni bir kurtarma yol, aşağıdaki şekilde gösterilir.Yeni kurtarma yol bir yedekye kurtarma dalı 1 (t1 t3 aracılığıyla) bazıları ve her günlük yedeği kurtarma dalı 2-t9 (t5) içerir.Açısından bakıldığında bu kurtarma yol, günlük yedeği t4 kullanılmıyor.

Yeni kurtarma yolu

saat içinde alınmı geri yükleme yükledikten sonra sonraki yedek kurtarma çatalı her saat olur.Aşağıdaki resimde, bir noktası-de-saat geri yükleme tamamlandıktan midway t4 günlük yedeği yoluyla.saat içinde o ana veritabanı kurtarma kurtarma çatalı olur.Daha sonra günlük yedeği saat t5 kurtarılmış veritabanı kurtarma dalı 2 kurmak ve yeni oluşturma oluşturulur kurtarma yol.Yeni bir dalı, t5, ilk günlük yedeği, günlük yedeği t3 olarak aynı ilk SSN içeren ve değiştirir.Bu nedenle, t3 ve t4 yedekleri üzerinde yeni eski kurtarma yol.

Belirli bir noktada geri yüklemeden sonra yeni kurtarma yolu

Yeni bu yedekleri geri yüklemek için kurtarma yol, geri yükleme sırası: T1, t2 ve t5.İlerideki yedeklemelere kurtarma dalı 2 üzerinde çekildiği gibi bunlar yeni katılır kurtarma yolu.

Geri ve İleri eski bir yol boyunca top

Kurtarma birden çok yol olduğunda, genellikle, bunların en yeni veritabanını geri yüklemek için tercih edilen yoludur.Eski kullanmaktan kaçının öneririz kurtarma yol.Ancak, gerekirse, yapabilirsiniz ileri sarmak önce geçerli kurtarma yolu oluşturulmasını yedekler sırasını izleyerek eski bir kurtarma yol boyunca.Örneğin, eski yol boyunca saat üstü noktaları ulaşmak için önce bir belirli bir noktadan önceyi kurtarma yedekler kullanabilirsiniz.

Örneğin, günlük yedeği t5 oluşturulduktan sonra yukarıdaki çizimde oluşturulan yedekler üzerinde bağlı olarak, günlük yedeği t4 sonuna kadar t1 çekilen tam veritabanı yedeği geri yükleme yüklemek yine de mümkündür.Bu, üzerinde eski kurtarma yol.

Geri ve İleri eski bir yoldan yeni bir yol top

The SQL Server Veritabanı Altyapısı prevents a restore sequence from by using backups that do not go together, that is, that try to roll forward along different recovery paths.Bu kısıtlama, bir veritabanının tutarlılığını sonra kurtarma korur.

Geri yüklemek ve ileri sarmak yeni bir kurtarma yol boyunca kurtarma noktasından sonra yedekleme ve kurtarma noktası önce yedekleme için farklı bir geri yükleme sıraları oluşturun:

  1. Yedekler olan önce kullanılmaya başlanan yeni kurtarma geri yükleme kurtarma yol.Kurtarma noktası içeren yedek hariç.

  2. Kurtarma yolu oluşturulduğundan bu yana gerçekleştirilen yedeklemeler geri yükleyerek yeni Kurtarma yol boyunca ileriye doğru döndürün.

Kurtarma çatalları yönetme

A kurtarma dalı bir aralık, aynı GUID paylaşan LSNs olur.A kurtarma yolu bir SSNs aralık'ndan açıklar bir başlangıç noktası (SSN, GUID) için bir Bitiş noktası (SSN, GUID).LSNs aralık'nda bir kurtarma yolu Gez bir veya daha fazla kurtarma kollarından sona erdirmek Başlat.Yeni bir kurtarma dalı bir veritabanı oluşturulduğunda ve Kurtarma ile geri yükleme kurtarma çatalı oluşturduğunda gelmektedir.

A recovery fork.is the point (LSN,GUID) at which a new recovery branch is started, every time a RESTORE WITH RECOVERY is performed.Her kurtarma çatalı kurtarma dalları arasında bir üst-alt ilişkisi belirler.

Veritabanını kurtarmak için kurtarma noktası sonraki SSN dahil olmak üzere tüm veritabanı durumunu ayarlar.LSNs sonra tekrar, ile başlayan fork_point_lsn.Aynı SSN üzerinde birden fazla çatal var çünkü geri yükleme sırası oluşturma sırasında bu nedenle yedeklemeleri kurtarma çatalı ve tarafından da SSN, bağlanmalıdır.SSN yeniden kullanmak üzere aşağıda gösterilmiştir.LSNs içinde farklı kurtarma çatalları nasıl tanımlarlar listede gösterilir.Resimde yeşil kutularına aynı SSN kullanan iki yedekleri gösteriyor.

LSN'ler farklı kurtarma çatallarında nasıl yeniden kullanılır

Bir kurtarma çatalı Gez yedekleri geri yükleme sırası birleştirmek gerekir, böylece kullanılan yedekleme doğru kurtarma yolnu izleyin geri yükleme sırası oluşturulması gerektiği kurtarma noktası.Bu amaçla, ilk kurtarma çatalı GUID ve son kurtarma çatalı GUID yedekleri içerir.

Kurtarma yolları izleme için uygundur, içinde depolanan diğer meta veriler ile birlikte bu GUID backupset geçmiş tablo ve öğeler de ile döndürülen restore headeronly deyim.Aşağıdaki tablo kurtarma çatalı Gez geri yükleme sequences oluşturmak için ilgili meta veriler değerleri özetlenmektedir.Bu değerler için sütun adlarını geçmiş tablo ve restore headeronly deyim sonuç küme için farklı olduğuna dikkat edin:

SSN

Açıklama

backupset sütun adı

restore headeronly sütun adı

İlk kurtarma çatalı GUID

Başlangıç kurtarma çatalı kimliği.

first_recovery_fork_guid

FirstRecoveryForkID

Son kurtarma çatalı GUID

Bitiş kurtarma çatalı kimliği.

last_recovery_fork_guid

RecoveryForkID

İlk SSN

Oturum ilk veya en eski günlük kaydı sıra numarası yedek küme.

first_lsn

FirstLSN

Son SSN

Günlük sırası, yedek küme sonra sonraki günlük kaydı sayısı.

last_lsn

LastLSN

Çatalı noktası SSN

Çatalı noktası sıra numarası ilk kurtarma noktası GUID ise oturum son kurtarma noktası GUID (≠) eşittir.Aksi durumda, hiçbir kurtarma çatalı oluşuyor yedek, ve çatal noktası SSN null olur.

fork_point_lsn

ForkPointLSN

Temel fark GUID

Tek tabanlı farklı yedek için benzersiz tanıtıcısı değerdir değişiklik temeli.

Multibased farklarını için null değerdir ve fark Bankası konumundaki dosyayı belirlenmesi düzey.Daha fazla bilgi için bkz: backupfile (Transact-sql).

yedek türleri nondifferential değer null olur.

differential_base_guid

DifferentialBaseGUID

Bu tartışmanın kalan değerler yalnızca adlarını kullanır backupset geçmiş tablo.

  • Son kurtarma çatalı GUID ve ilk kurtarma çatalı GUID sırası doğru çatal uyduğundan emin olun yedekleri bağlamak için kullanılır.Geri yüklenecek her günlük yedeği sırasındaki first_recovery_fork_guid 'e eşit olması last_recovery_fork_guid sırada önceki yedek.

    first_recovery_fork_guid = last_recovery_fork_guid

  • Veri ve fark yedeklemelerini de bağlantılı gerekir.

    günlük yedeği, tam Veritabanı yedeklemesi veya fark Veritabanı yedeklemesi ve çatalı noktası son SSN içeriyorsa, bağlama sınama çatalı noktası göreli olarak son SSN konumuna bağlıdır.

    Bağlama sınamaları, değerleri kullanarak gibidir backupset:

    • If last_lsn is less than or equal to fork_point_lsn, the last_recovery_fork_guid of the data or differential backup must equal the first_recovery_fork_guid of the log backup.Bir durum, aşağıdaki resimde gösterilmiştir last_lsn ise daha az fork_point_lsn.

      last_lsn küçüktür fork_point_lsn

    • If last_lsn is greater than fork_point_lsn, the last_recovery_fork_guid of the data or differential backup must equal the last_recovery_fork_guid of the log backup.Bir durum, aşağıdaki resimde gösterilmiştir last_lsn 'den büyük olan fork_point_lsn.

      last_lsn büyüktür fork_point_lsn

  • Farklı bir yedek için bulmak değişiklik temeli kullanarak backupset.differential_base_guid.

    Multibased, fark ise, backupset.differential_base_guid null ve fark kullanarak dosya dosyası dayandırır belirlemeniz gerekir, backupfile.differential_base_guid.