Share via


tam veritabanı geri yükleme yüklemesi yüklemesi (Tam kurtarma modeli) gerçekleştirme

tam veritabanı geri yükleme yüklemesi yüklemesi hedefi tam veritabanı geri yükleme yüklemesi yüklemektir.Tüm veritabanını geri yükleme işlemi süresince çevrimdışıdır.Veritabanında herhangi bir parçasını çevrimiçi olamıyor önce tüm verileri kurtarıldı veritabanını aynı noktada sürede bölümlerdir ve kaydedilmemiş olan hareketler bulunmadığından mevcut tutarlı bir noktasına.

Tam kurtarma modeli altında veritabanının belirli bir noktasını saat geri yüklenebilir.Noktasını zaman, kullanılabilen en son yedek, belirli bir tarih ve saat veya işaretli bir işlem olabilir.

Security noteSecurity Note:

Değil iliştirin veya bilinmeyen veya güvenilmeyen kaynaklardan gelen veritabanlarını geri yükleme olmasını öneririz.Bu veritabanlarından yürütmek, kötü amaçlı kod içerebilir istenmeyen Transact-SQL şema veya fiziksel veritabanı yapısı değiştirerek kod veya neden hata. Bilinmeyen veya güvenilmeyen bir kaynaktan gelen bir veritabanı kullanmadan önce çalıştırın. dbcc checkdb nonproduction sunucusundaki veritabanında ve ayrıca ya da diğer kullanıcı tanımlı kod, veritabanında saklı yordamlar kodun sınayın.

Tam veritabanı geri yükleniyor

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

  1. (Günlük kuyruğunu bilinirdi) etkin bir işlem günlüğü yedekleyin.Bu kuyruk günlüğü oluşturur yedek.Etkin işlem günlüğü kullanılamıyorsa, bu bölümü günlüğün tüm hareketler kaybolur.

    Important noteImportant Note:

    Toplu oturum operasyonları içeren herhangi bir günlüğü yedekleme toplu günlük kurtarma modeli altında veritabanındaki tüm veri dosyaları için erişim gerektirir.Veri dosyalarına erişilemiyor, işlem günlüğü yedeklenemez.Bu durumda, el ile en son günlük bu yana yapılan tüm değişiklikleri yinelemek zorunda yedek.

    Daha fazla bilgi için bkz: Kuyruk günlüğü yedekleri.

  2. En son tam veritabanı geri yükleme yedek olmadan (geri yükleme DATABASE veritabanı kurtarma database_name norecovery İLE).

  3. Fark varsa, en son bir veritabanı (RESTORE DATABASE kurtarma olmadan geri yükleme database_name Kimden differential_backup_device norecovery İLE).

  4. Ilk işlem günlüğü ile başlayan yedek sonra oluşturulan yedek yalnızca geri yükleme, günlüklerin sıra ile NORECOVERY'YI geri yükleme yüklemek.

  5. (geri yükleme DATABASE veritabanı kurtarmak database_name kurtarmak İLE). Alternatif olarak, bu adımı son günlük geri yükleme ile birleştirilebilir yedek.

  6. tam veritabanı geri yüklemesi yüklemesi yükleme genellikle saat veya işaretli hareket günlüğü içindeki bir noktaya geri yükleme yedek.Ancak, toplu günlük kurtarma modeli altında günlük yedek noktası kurtarma mümkün olmadığı saat toplu oturum değişiklikleri içerir.Daha fazla bilgi için bkz:Bir veritabanı içinde bir yedek bir noktaya geri yükleniyor.

Aşağıda, bu işlem gösterilmiştir.(1), Bir başarısızlık oluştuktan sonra kuyruğu günlük yedek (2) oluşturulur.Sonra veritabanını hata noktasına geri yüklenir.Bu bir veritabanı yedeklemesini, bir sonraki değişiklik yedeği ve sonradan alınan günlük yedeği gibi değişiklik yedeği gerçekleştirilen her günlük yedek, geri yükleme'yi içerir.

Complete database restore to the time of a failure

Bir veritabanını tümüyle geri yüklüyorsanız, tek bir geri yükleme sırası kullanılmalıdır.Aşağıdaki örnekte, tam veritabanı için bir geri yükleme sırası kritik seçenekleri geri yüklemek, veritabanını hata noktasına geri senaryosu gösterilmektedir.Bir geri yükleme sırası verileri geri yükleme aşamasını birini veya birkaçını taşıyan bir veya daha çok geri yükleme işlemlerini içerir.Sözdizimi ve bu amaç için uygun olmayan Ayrıntılar atlandı.

Veritabanı geri ve ileri'yi alınıyor.Farklı BIR veritabanı, tekerleği ileri süresini azaltmak için kullanılır.Iş kaybını engellemek için bu geri yükleme sırası yöneliktir; son yedek, geri sonradan alınan günlük yedeği.

Temel GERİ YÜKLEME geri yükleme sırası sözdizimi şöyledir:

  1. geri yükleme VERİTABANI Veritabanıfull database backup norecovery İLE;

  2. geri yükleme VERİTABANI Veritabanıfull_differential_backup norecovery İLE;

  3. geri yükleme GÜNLÜK Veritabanılog_backup WITH NORECOVERY'YI;

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

  4. VERİTABANINI GERİ YÜKLE Veritabanı WITH kurtarma;

Örnek

Aşağıdaki örneğin AdventureWorks Örnek veritabanı, veritabanı yedeklenen önce tam kurtarma modeli kullanmak için ayarlandı. Örnek bir kuyruk günlüğü oluşturur yedek, AdventureWorks Veritabanı. Sonra örnek bir önceki tam veritabanı geri yükler yedek ve günlük yedek, ve sonra örnek günlük kuyruğunun geri yükler yedek.Örnek veritabanını ayrı, son adımda kurtarır.

Not

Bu örnek, bir veritabanı kullanır yedek ve günlük yedek "Using veritabanı yedek s Tam kurtarma modeli altında" bölümünde oluşturulur Tam veritabanı yedeklemesi.

Ilk örnekte bir alter VERİTABANI Kurtarma modeli ayarlar için EkstresiFULL.

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

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

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

Nokta hatası kurtarma

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

Important noteImportant Note:

Bir veritabanını geri yükleme yedek bir başka sunucu örneği, bkz: Veritabanı, yedek ve geri yükleme ile kopyalama ve Bir veritabanı başka bir sunucuda kullanılabilir yapma, meta veriler yönetme örnek.

Bir fark bir veritabanı yedeklemesini geri yükleme yüklemek için

Işlem günlüğü geri yükleme yedek

Verilerinizi geri yükleme yükledikten sonra yedek veya yedek s, geri yükleme yüklemelisiniz daha sonra hareketin tüm yedek s oturum ve daha sonra veritabanını kurtarmak.

geri yükleme yüklemek için bir yedek kullanarak SQL Server Management Objects (SMO)

  • SqlRestore(Server)

Bir nokta-olarak-saat için kurtarma

Tam kurtarma modeli altında bir veritabanı için belirli bir noktaya saat içinde bir günlük geri yedek.Noktasını zaman, belirli bir tarih ve saat, işaretli hareket veya günlük sıra numarası (SSN) olabilir.Daha fazla bilgi için bkz:Bir veritabanı içinde bir yedek bir noktaya geri yükleniyor.

SQL Server'ın önceki sürümleri tarafından yedekleme desteği

Içinde SQL Server 2008, kullanılarak oluşturulan bir veritabanı yedeklemesini geri yükleme SQL Server 2000, SQL Server 2005, veya SQL Server 2008. Ancak, yedekleme Yönetici, modeli and msdb kullanılarak oluşturulmuşSQL Server 2000 veya SQL Server 2005 tarafından geri yüklenemiyor SQL Server 2008. Ayrıca, SQL Server 2008 bir önceki sürüm tarafından yedekleri geri yüklenemiyor SQL Server.

SQL Server 2008 önceki sürümlerden farklı bir varsayılan yol kullanılır.Bu nedenle, varsayılan konumu ya da'de oluşturulmuş bir veritabanını geri yükleme yüklemek için SQL Server 2000 veya SQL Server 2005 yedeklemeler, MOVE seçeneğini kullanmanız gerekir. Yeni varsayılan yol hakkında daha fazla bilgi için bkz: Dosya konumları, varsayılan ve SQL Server adlandırılmış örnekleri.

Not

Kullanılarak oluşturulan bir Microsoft Access veritabanını yükseltme hakkında bilgi için SQL Server sürüm 7.0 veya önceki için SQL Server 2005, bkz: SQL Server 7.0 veya önceki kopyalama veritabanlarından.

Değişiklik Geçmişi

Güncelleştirilmiş içerik

"Tam bir veritabanı geri yükleme" bölümünde, adım 3'te bir fark yedeklemesini geri sözdizimi düzeltildi.

Kuyruk günlük yedek oluşturmak için kod örneği "Tam bir veritabanı geri yükleme" bölümünde'de giderilmiştir.