Nasıl yapılır: Hareket günlük yedekleme (Transact-SQL) Uygula
Bir işlem uygulamak için günlük yedeği bir veritabanı için aşağıdaki doğru olmalıdır:
En son tam veya fark veritabanı yedek oluşturulmadan önce veritabanının tam kurtarma modeli kullanmakta olduğunuz gerekir ya da toplu günlük kurtarma modeli.
Geri yükleme sırası WITH norecovery önceki yedeklerini geri yüklerken belirtmiş olmanız gerekir.
Günlüğü yedekleri uygulanan, sıra içinde oluşturuldukları, tüm boşluklar olmadan günlük zinciri.Son günlük yedeği dışında WITH norecovery gibi kullanmanız gerekir:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;
Son günlük yedeği uygularken, aşağıdakilerden birini yapabilirsiniz:
Son yedekleme günlüğü parçası olarak veritabanını kurtarmak deyim:
RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY; GO
Ayrı bir restore database kullanarak veritabanını kurtarmak için bekleyin deyim:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; RESTORE DATABASE <database_name> WITH RECOVERY; GO
Veritabanını kurtarmak için bekleyen tüm gerekli günlüğü yedeklerini geri olduğunu doğrulamak için fırsatı verir.Bir noktaya getirirken bu yaklaşım genellikle tavsiye edilir-de-saat geri yükleyin.
Önemli |
---|
Her zaman açıkça WITH norecovery veya Kurtarma ile geri yükleme her belirtmenizi öneririz deyim belirsizlik ortadan kaldırmak için.Komut dosyaları yazarken bu özellikle önemlidir. |
Hareket günlük yedeği uygulamak için
restore log yürütme deyim hareket günlük yedeği uygulamak için belirtme:
İşlem günlüğü uygulanacağı veritabanının adı.
yedek aygıtı nerede hareket günlük yedeği dan geri yüklenir.
norecovery yan tümce tümce tümce.
Bu deyim için temel sözdizimi aşağıdaki gibidir:
restore log veritabanı_adı from <backup_device> WITH norecovery.
Where database_name is the name of database and <backup_device>is the name of the device that contains the log backup being restored.
1. Adımı uygulamak zorunda her işlem günlük yedeği için yineleyin.
Son yedek, geri yükleme sırası geri yükledikten sonra kurtarmak için veritabanı kullanın şu deyim:
GERİ veritabanı_adı WITH recovery
Önemli Yansıtma veritabanı oluşturuyorsanız, Kurtarma adımı atlayın.Yansıtma veritabanı geri yükleme durumunda kalması gerekir.
Örnek
Varsayılan olarak, AdventureWorks2008R2 kullandığı veritabanı Basit kurtarma modeli.Aşağıdaki örnekler, tam kurtarma modeli aşağıdaki gibi kullanmak istediğiniz veritabanını değiştirme gerektirir:
ALTER DATABASE AdventureWorks2008R2 SET RECOVERY FULL
A.Bir tek hareket günlük yedeği uygulamak
Aşağıdaki örnek geri yükleyerek başlar AdventureWorks2008R2 bulunduğu bir tam veritabanı yedeği kullanarak veritabanını bir yedek aygıtı adlı AdventureWorks2008R2_1.Örnek daha sonra ilk hareket geçerlidir günlük yedeği adlı bir yedek aygıtı üzerinde bulunan AdventureWorks2008R2_log.Son olarak, örnek veritabanı kurtarır.
RESTORE DATABASE AdventureWorks2008R2
FROM AdventureWorks2008R2_1
WITH NORECOVERY
GO
RESTORE LOG AdventureWorks2008R2
FROM AdventureWorks2008R2_log
WITH FILE = 1,
WITH NORECOVERY
GO
RESTORE DATABASE AdventureWorks2008R2
WITH RECOVERY
GO
B.Birden çok işlem günlüğü yedekleri uygulanıyor
Aşağıdaki örnek geri yükleyerek başlar AdventureWorks2008R2 bulunduğu bir tam veritabanı yedeği kullanarak veritabanını bir yedek aygıtı adlı AdventureWorks2008R2_1.Örnek daha sonra tek tek, üzerinde bulunan ilk üç işlem günlüğü yedekleri uygulanır bir yedek aygıtı adlı AdventureWorks2008R2_log.Son olarak, örnek veritabanı kurtarır.
RESTORE DATABASE AdventureWorks2008R2
FROM AdventureWorks2008R2_1
WITH NORECOVERY
GO
RESTORE LOG AdventureWorks2008R2
FROM AdventureWorks2008R2_log
WITH FILE = 1,
NORECOVERY
GO
RESTORE LOG AdventureWorks2008R2
FROM AdventureWorks2008R2_log
WITH FILE = 2,
WITH NORECOVERY
GO
RESTORE LOG AdventureWorks2008R2
FROM AdventureWorks2008R2_log
WITH FILE = 3,
WITH NORECOVERY
GO
RESTORE DATABASE AdventureWorks2008R2
WITH RECOVERY
GO
Ayrıca bkz.