Tam veritabanı (tam kurtarma modeli) yükler

Bir tam veritabanı geri yükleme hedefi tüm veritabanını geri yüklemektir. Tüm veritabanını geri yükleme süresi için çevrimdışı. Veritabanının bir parçasını çevrimiçi gelebilir önce tüm verileri kurtarıldı veritabanı aynı noktada zamanında bölümlerdir ve hiç kaydedilmemiş hareketleri var tutarlı bir noktaya.

Tam kurtarma modeli altında veri yedekleme veya yedekleri geri yükledikten sonra tüm izleyen işlem günlüğü yedeklerini geri ve gerekir sonra veritabanını kurtarmak. Belirli bir veritabanı geri yükleyebilirsiniz Kurtarma noktası içinde bu günlüğü yedekleri biri. Kurtarma noktası, belirli bir Tarih ve Saat, işaretli hareket veya bir günlük sıra numarası (lsn) olabilir.

Özellikle tam kurtarma modelini veya toplu oturum kurtarma modeli altında bir veritabanını geri yüklerken, tek geri yükleme sırası kullanmalısınız. A sırası geri bir veya daha fazlasını geri aşamaları ile veri taşımak bir veya daha fazla geri yükleme işlemleri oluşur.

Güvenlik notuGüvenlik Notu

Sen değil eklemek veya bilinmeyen veya güvenilmeyen kaynaklardan gelen veritabanlarını geri öneririz. Bu veritabanları idam kötü amaçlı kod içerebilir istenmeyen Transact-SQLkod veya şema veya fiziksel veritabanı yapısını değiştirerek hatalara neden. Bilinmeyen veya güvenilmeyen kaynağından veritabanı kullanmadan önce çalıştırmak dbcc checkdb bir benzerini sunucuda veritabanı ve saklı yordamlar veya veritabanındaki diğer kullanıcı tanımlı kod gibi bir kod da inceleyin.

Bu konuda:

  • Bir veritabanını geri yükleme nokta hatası

  • Bir veritabanı bir noktaya içinde bir günlük yedekleme geri yükleme

  • ilişkili Görevler

  • İlişkili İçerik

[!NOT]

Önceki sürümlerinde yedekleme desteği hakkında bilgi için SQL Server, "Uyumluluk desteği" konusuna bakın. bölümünde RESTORE (Transact-SQL).

Bir veritabanını geri yükleme nokta hatası

Genellikle, bir veritabanı için hata noktası kurtarma, aşağıdaki temel adımları içerir:

  1. (Günlük kuyruğu da bilinir) etkin işlem günlüğü yedekleyin. Bu tail günlük yedeğini oluşturur. Etkin işlem günlüğü kullanılamıyorsa, tüm işlemleri günlük kısmının kaybolur.

    Önemli notÖnemli

    Toplu oturum kurtarma modeli altında toplu işlemleri içeren herhangi bir günlük yedekleme tüm veri dosyaları veritabanına erişimi gerektirir. Veri dosyalarını erişilemiyorsa, işlem günlüğü yedeklenemez. Bu durumda, sen-si olmak-e beri en son günlük yedekleme yapılan tüm değişiklikleri el ile yapmanız gerekir.

    Daha fazla bilgi için, bkz. Tail günlük yedekleme (SQL Server).

  2. Veritabanı kurtarma olmadan en son tam veritabanı yedeği geri yüklemek (restore database database_namefrom backup_deviceWITH norecovery).

  3. Fark yedekler varsa, en son bir veritabanı kurtarma olmadan geri yükleme (restore database database_namefrom differential_backup_deviceWITH norecovery).

    En son farklıları yedekleme geri yükleme geri gerekir günlüğü yedekleri sayısını azaltır.

  4. Günlükleri, sadece geri yedeklemeden sonra oluşturulan ilk hareket günlük yedekleme başlayarak, sırayla norecovery ile geri yükleyin.

  5. Veritabanını kurtarmak (restore database database_nameWITH recovery). Alternatif olarak, bu adım, son günlük yedekleme geri yükleme ile birleştirilebilir.

Bu geri yükleme sırası aşağıda gösterilmiştir. (1) Bir hata oluştuktan sonra tail günlük yedekleme (2) oluşturulur. Sonra veritabanını hata noktası geri yüklenir. Bu veritabanı yedeği, bir sonraki farklıları yedekleme ve tail günlük yedekleme dahil olmak üzere farklı yedekleme sonra alınan her günlük yedekleme geri yükleme gerektirir.

Veritabanının tamamını hata zamanına geri yükleme

[!NOT]

Farklı sunucu örneği oturum bir veritabanı yedeklemesini geri yüklediğinizde, görmek Veritabanlarını yedekleme ve geri yükleme ile kopyalama.

Temel Transact-sql geri yükleme sözdizimi

Temel geri Transact-SQL yukarıdaki resimde geri yükleme sırası için sözdizimi aşağıdaki gibidir:

  1. restore database databasedan full database backupnorecovery ile;

  2. restore database databasedan full_differential_backupnorecovery ile;

  3. Geri yükleme oturum databasedan log_backupnorecovery ile;

    Her ek günlük yedekleme için bu geri yükleme günlük yineleyin.

  4. restore database databaseKurtarma ile;

[Üst]

Örnek: kurtarma nokta hatası için (Transact-sql)

Aşağıdaki Transact-SQLörnek veritabanı hata noktası geri yükler geri yükleme sırası önemli seçenekleri gösterir. Örnek veritabanı tail günlük yedeğini oluşturur. Sonra örnek bir tam veritabanı yedeklemesi ve günlük yedekleme geri yükler ve sonra tail günlük yedeğini geri yükler. Örneğin veritabanında ayrı, son bir adım kurtarır.

[!NOT]

Bu örnek, bir veritabanı yedekleme ve "kullanarak veritabanı yedekleri tam kurtarma modeli altında içinde" oluşturulan günlük yedekleme kullanır. bölüm içinde Tam veritabanı yedekleme (SQL Server). Veritabanı yedeklemeden önce AdventureWorks2012 örnek veritabanı tam kurtarma modeli kullanmak üzere ayarlamak.

USE master;
--Create tail-log backup.
BACKUP LOG AdventureWorks2012 
TO DISK = 'Z:\SQLServerBackups\AdventureWorksFullRM.bak'  
   WITH NORECOVERY; 
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks2012 
  FROM DISK = 'Z:\SQLServerBackups\AdventureWorksFullRM.bak' 
  WITH FILE=1, 
    NORECOVERY;

--Restore the regular log backup (from backup set 2).
RESTORE LOG AdventureWorks2012 
  FROM DISK = 'Z:\SQLServerBackups\AdventureWorksFullRM.bak' 
  WITH FILE=2, 
    NORECOVERY;

--Restore the tail-log backup (from backup set 3).
RESTORE LOG AdventureWorks2012 
  FROM DISK = 'Z:\SQLServerBackups\AdventureWorksFullRM.bak'
  WITH FILE=3, 
    NORECOVERY;
GO
--recover the database:
RESTORE DATABASE AdventureWorks2012 WITH RECOVERY;
GO

[Üst]

Bir veritabanı bir noktaya içinde bir günlük yedekleme geri yükleme

Tam kurtarma modeli altında tam veritabanı geri yükleme genellikle bir noktaya, işaretli hareket veya günlük yedekleme içinde bir lsn kurtarılabilir. Günlük yedekleme toplu oturum değişiklikleri varsa ancak toplu oturum kurtarma modeli altında zaman içinde kurtarma mümkün değildir.

Örnek noktası zamanında geri yükleme senaryoları

Aşağıdaki örnek bir tam veritabanı yedeklemesi günlük gece yarısı oluşturulduğu kritik veritabanı sistemi varsayar, hour, Pazartesi ile Cumartesi ve işlem günlüğü yedekleri 10 dakikada gün boyunca oluşturulan fark veritabanı yedeklemesi oluşturulur. 5: 19 AM oldu veritabanı durumuna geri yüklemek için Çarşamba, aşağıdakileri yapın:

  1. Salı gece yarısı oluşturulan tam veritabanı yedeği geri.

  2. 5: 00'da oluşturulan fark veritabanı yedeğini geri yükleme Çarşamba günü.

  3. 5: 10'da oluşturulan hareket günlük yedekleme Çarşamba günü.

  4. Olarak hareket günlük yedekleme uygulamak 5: 20'da oluşturulan Çarşamba, kurtarma işlemi önce 5: 19'da gerçekleşen işlemlerin uygulandığı belirtme

Alternatif olarak, veritabanı durumuna 3: 04'da restore duyarsa 3: 00'da oluşturulan fark veritabanı yedeğini ama Perşembe Perşembe değil, aşağıdakileri yapın:

  1. Çarşamba gece yarısı oluşturulan veritabanı yedeğini geri yükleyin.

  2. 2: 00'da oluşturulan fark veritabanı yedeğini geri yükleme Perşembe günü.

  3. 2: 10'da oluşturulan tüm işlem günlüğü yedekleri uygulayın 3: 00 a.m. için Perşembe günü.

  4. 3: 10'da oluşturulan hareket günlük yedekleme Perşembe günü, 3: 04'da kurtarma işlemi durduruluyor

[!NOT]

Zaman noktası geri yükleme örneği için bkz: Bir SQL Server veritabanına bir noktaya zaman (tam kurtarma modeli) geri.

ilişkili Görevler

Tam veritabanı yedeği geri yüklemek için

Fark veritabanı yedeğini geri yüklemek için

Hareket günlük yedekleme geri yükleme

SQL Server Management Objects (smo) kullanarak bir yedeği geri yüklemek için

Bir veritabanı içinde bir günlük yedekleme bir noktaya geri yüklemek için

[Üst]

İlişkili İçerik

Yok.

[Üst]

Ayrıca bkz.

Başvuru

RESTORE (Transact-SQL)

Yedekleme (Transact-sql)

sp_addumpdevice (Transact-sql)

Kavramlar

Işlem günlüğü yedekleri uygulayın

Tam veritabanı yedekleme (SQL Server)

Fark yedekleme (SQL Server)

Yedekleme Özet (SQL Server)

Geri yükleme ve Kurtarma Özet (SQL Server)