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.
Bu konu, hatanın oluştuğu noktaya nasıl geri yükleme yapılacağını açıklar. Konu yalnızca tam veya toplu kayıtlı kurtarma modellerini kullanan veritabanları için geçerlidir.
Arıza noktasına geri döndürmek
Aşağıdaki temel BACKUP deyimini çalıştırarak günlüğün kuyruğunu yedekleyin.
BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY, NO_TRUNCATE;Aşağıdaki temel RESTORE DATABASE deyimini çalıştırarak tam veritabanı yedeklemesini geri yükleyin:
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;İsteğe bağlı olarak, aşağıdaki temel RESTORE DATABASE deyimini çalıştırarak değişiklik veritabanı yedeğini geri yükleyin:
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;RESTORE LOG deyiminde NORECOVERY ile belirterek, 1. adımda oluşturduğunuz kuyruk günlüğü yedeklemesi de dahil olmak üzere her işlem günlüğünü uygulayın:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;Aşağıdaki RESTORE DATABASE deyimini çalıştırarak veritabanını kurtarın:
RESTORE DATABASE <database_name> WITH RECOVERY;
Example
Örneği çalıştırabilmeniz için önce aşağıdaki hazırlıkları tamamlamanız gerekir:
Veritabanının
AdventureWorks2025varsayılan kurtarma modeli, basit kurtarma modelidir. Bu kurtarma modeli hata noktasına geri yüklemeyi desteklemediğinden, aşağıdakiAdventureWorks2025deyimini çalıştırarak tam kurtarma modelini kullanacak şekilde ayarlayın:USE master; GO ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;Aşağıdaki BACKUP deyimini kullanarak veritabanının tamamının yedeğini oluşturun.
BACKUP DATABASE AdventureWorks2022 TO DISK = 'C:\AdventureWorks2022_Data.bck';Rutin günlük yedeklemesi oluşturma:
BACKUP LOG AdventureWorks2022 TO DISK = 'C:\AdventureWorks2022_Log.bck';
AdventureWorks2025 veritabanının kuyruk günlüğü yedeğini oluşturduktan sonra, aşağıdaki örnek daha önce oluşturulan yedekleri geri yükler. (Bu adımda günlük diskinin erişilebilir olduğu varsayılır.)
İlk olarak örnek, etkin günlüğü yakalayan ve veritabanını Geri Yükleme durumunda bırakan veritabanının kuyruk günlüğü yedeğini oluşturur. Daha sonra örnek veritabanı yedeklemesini geri yükler, daha önce oluşturulan rutin günlük yedeklemesini uygular ve tail-log yedeklemesini uygular. Son olarak, örnek veritabanını ayrı bir adımda kurtarır.
Uyarı
Varsayılan davranış, son yedeklemeyi geri yükleyen deyimin bir parçası olarak veritabanını geri kazanmaktır.
/* Example of restoring a to the point of failure */
-- Step 1: Create a tail-log backup by using WITH NORECOVERY.
BACKUP LOG AdventureWorks2022
TO DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 2: Restore the full database backup.
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Data.bck'
WITH NORECOVERY;
GO
-- Step 3: Restore the first transaction log backup.
RESTORE LOG AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 4: Restore the tail-log backup.
RESTORE LOG AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 5: Recover the database.
RESTORE DATABASE AdventureWorks2022
WITH RECOVERY;
GO