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 başlığında, SQL Server Management Studio veya Transact-SQL kullanarak VERITABANıNıN SQL Server'da belirli bir noktaya nasıl geri yükleneceği açıklanmaktadır. Bu konu yalnızca tam veya yığın kaydı kurtarma modellerini kullanan SQL Server veritabanları için geçerlidir.
Önemli
Toplu günlüğe kaydedilen kurtarma modelinde, günlük yedekleme toplu günlüğe kaydedilmiş değişiklikler içeriyorsa, bu yedekleme içindeki bir noktaya zaman noktasında kurtarma mümkün değildir. Veritabanı, işlem günlüğü yedeklemesinin sonuna kadar kurtarılmalıdır.
Başlamadan önce:
SQL Server veritabanını belirli bir noktaya geri yüklemek için bu yöntemi kullanarak:
Başlamadan Önce
Recommendations
Zaman içinde bilinmeyen bir nokta bulmak için STANDBY işlevini kullanın.
Geri yükleme dizisinin başlangıcında belirli bir zamanı belirtme
Security
Permissions
Geri yüklenen veritabanı yoksa, KULLANıCıNıN RESTORE'yi yürütebilmesi için CREATE DATABASE izinlerine sahip olması gerekir. Veritabanı varsa, RESTORE izinleri varsayılan olarak sysadmin ve dbcreator sabit sunucu rollerinin üyelerine ve veritabanının sahibine (dbo) atanır (FROM DATABASE_SNAPSHOT seçeneği kullanıldığında veritabanı daima mevcuttur).
GERI YÜKLEME izinleri, üyelik bilgilerinin sunucu tarafından her zaman kullanılabilir olduğu rollere verilir. Sabit veritabanı rolü üyeliği yalnızca veritabanı erişilebilir ve hasarsız olduğunda denetlenebildiğinden ve RESTORE yürütülürken her zaman böyle olmadığından, db_owner sabit veritabanı rolünün üyeleri RESTORE izinlerine sahip değildir.
SQL Server Management Studio'yu kullanma
Veritabanını belirli bir noktaya geri yüklemek için
Nesne Gezgini'nde SQL Server Veritabanı Altyapısı'nın uygun örneğine bağlanın ve sunucu ağacını genişletin.
Veritabanları'nın kapsamını genişletin. Veritabanına bağlı olarak, bir kullanıcı veritabanı seçin veya Sistem Veritabanları'nı genişletin ve ardından bir sistem veritabanı seçin.
Veritabanına sağ tıklayın, Görevler'in üzerine gelin, Geri Yükle'nin üzerine gelin ve veritabanı'na tıklayın.
Genel sayfasında, geri yükleneceği yedekleme kümelerinin kaynağını ve konumunu belirtmek için Kaynak bölümünü kullanın. Aşağıdaki seçeneklerden birini belirleyin:
Veritabanı
Açılan listeden geri yükleneceği veritabanını seçin. Liste yalnızca msdb yedekleme geçmişine göre yedeklenmiş veritabanlarını içerir.
Uyarı
Yedekleme farklı bir sunucudan alınırsa, hedef sunucu belirtilen veritabanı için yedekleme geçmişi bilgilerine sahip olmaz. Bu durumda, geri yükleneceği dosyayı veya cihazı el ile belirtmek için Cihaz'ı seçin.
Cihaz
Yedek cihazları seç iletişim kutusunu açmak için gözat (...) düğmesine tıklayın. Yedekleme medya türü kutusunda, listelenen cihaz türlerinden birini seçin. Yedekleme medya kutusu için bir veya daha fazla cihaz seçmek için Ekle'ye tıklayın.
İstediğiniz cihazları Yedekleme medyası liste kutusuna ekledikten sonra, Genel sayfasına dönmek için Tamam'a tıklayın.
Kaynak: Cihaz: Veritabanı liste kutusunda, geri yüklenmesi gereken veritabanının adını seçin.
Not Bu liste yalnızca Cihaz seçildiğinde kullanılabilir. Yalnızca seçili cihazda yedekleri olan veritabanları kullanılabilir.
Hedef bölümünde, Veritabanı kutusu otomatik olarak geri yüklenecek veritabanının adıyla doldurulur. Veritabanının adını değiştirmek için Veritabanı kutusuna yeni adı girin.
Zaman Çizelgesi iletişim kutusuna erişmek için Yedek Zaman Çizelgesi'ne tıklayın.
Geri yükleme bölümünde Belirli tarih ve saat seçeneğine tıklayın.
Geri yüklemenin durdurulacağı belirli bir tarih ve saati belirtmek için Tarih ve Saat kutularını veya kaydırıcı çubuğunu kullanın. Tamam'ı seçin.
Uyarı
Zaman çizelgesinde görüntülenen süreyi değiştirmek için Zaman Çizelgesi Aralığı kutusunu kullanın.
Belirli bir zaman noktası belirttikten sonra Veritabanı Kurtarma Danışmanı, geri yüklemek için yedekleme kümelerinin geri yükleme kılavuzunun Geri Yükle sütununda yalnızca o noktaya geri yükleme için gereken yedeklemelerin seçilmesini sağlar. Önerilen geri yükleme planı, belirli bir zamana geri yükleme için seçilen yedeklemeleri içerir. Belirli bir noktaya geri yükleme işleminiz için yalnızca seçili yedeklemeleri kullanmanız gerekir.
Geri yükleneceği Yedekleme kümelerindeki sütunlar hakkında bilgi için bkz. Veritabanını Geri Yükleme (Genel Sayfa). Veritabanı Kurtarma Danışmanı hakkında bilgi için bkz. Geri Yükleme ve Kurtarma'ya Genel Bakış (SQL Server).
Seçenekler sayfasındaki Geri yükleme seçenekleri panelinde, durumunuz için uygunsa aşağıdaki seçeneklerden herhangi birini seçebilirsiniz:
Mevcut veritabanının üzerine yazma (WITH REPLACE)
Çoğaltma ayarlarını koruma (WITH KEEP_REPLICATION)
Geri yüklenen veritabanına erişimi kısıtlama (WITH RESTRICTED_USER)
Bu seçenekler hakkında daha fazla bilgi için bkz. Veritabanını Geri Yükleme (Seçenekler Sayfası).
Kurtarma durumu kutusu için bir seçenek belirleyin. Bu kutu, geri yükleme işleminden sonra veritabanının durumunu belirler.
RESTORE WITH RECOVERY , kaydedilmemiş işlemleri geri alarak veritabanını kullanıma hazır bırakan varsayılan davranıştır. Ek işlem günlükleri geri yüklenemez. Tüm gerekli yedeklemeleri şimdi geri yüklüyorsanız bu seçeneği belirleyin.
RESTORE WITH NORECOVERY komutu, veritabanını çalışamaz duruma getirir ve kaydedilmemiş işlemleri geri almaz. Ek işlem günlükleri geri yüklenebilir. Veritabanı kurtarılana kadar kullanılamaz.
BEKLEME DURUMUNDA GERİ YÜKLE işlemi, veritabanını salt okunur modda bırakır. Kaydedilmemiş işlemleri geri alır, ancak kurtarma etkilerinin geri döndürülebilmesi için geri alma eylemlerini bir bekleme dosyasına kaydeder.
Seçeneklerin açıklamaları için bkz. Veritabanını Geri Yükleme (Seçenekler Sayfası).
Seçtiğiniz belirli bir nokta için gerekli olması durumunda geri yüklemeden önce kuyruk günlüğü yedeği alın seçeneği belirlenecektir. Bu ayarı değiştirmeniz gerekmez, ancak gerekli olmasa bile günlüğün kuyruğunu yedeklemeyi seçebilirsiniz.
Veritabanına etkin bağlantılar varsa geri yükleme işlemleri başarısız olabilir. Management Studio ile veritabanı arasındaki tüm etkin bağlantıların kapatıldığından emin olmak için Var olan bağlantıları kapat seçeneğini işaretleyin. Bu onay kutusu, geri yükleme işlemlerini gerçekleştirmeden önce veritabanını tek kullanıcı moduna ayarlar ve tamamlandığında veritabanını çok kullanıcılı moda ayarlar.
Her geri yükleme işlemi öncesinde sizden onay alınmasını istiyorsanız, Her yedekleme geri yüklemesinden önce sor'u seçin. Veritabanı büyük değilse ve geri yükleme işleminin durumunu izlemek istemiyorsanız bu genellikle gerekli değildir.
Transact-SQL Kullanımı
Başlamadan önce
Belirtilen süre her zaman günlük yedeğinden geri yüklenir. Geri yükleme dizisinin her RESTORE LOG deyiminde, hedef saatinizi veya işleminizi aynı STOPAT yan tümcesinde belirtmeniz gerekir. Belirli bir noktaya geri yüklemenin şartı olarak, önce hedef geri yükleme zamanınızdan daha erken bir bitiş noktasına sahip olan tam bir veritabanı yedeklemesini geri yüklemeniz gerekir. Bu tam veritabanı yedeklemesi, hedef noktanızı içeren günlük yedeklemesine kadar sonraki tüm günlük yedeklemelerini geri yüklediğiniz sürece en son tam veritabanı yedeklemesinden daha eski olabilir.
Hangi veritabanı yedeğini geri yükleyeceğinizi belirlemenize yardımcı olması için, RESTORE DATABASE deyiminizde, belirtilen hedef zamana göre yedek alma işlemi çok yeniyse bir hata verecek şekilde WITH STOPAT yan tümcesini isteğe bağlı olarak belirtebilirsiniz. Hedef zamanı içerse bile tam veri yedeklemesi her zaman geri yüklenir.
Temel Transact-SQL söz dizimi
RESTORE LOG DATABASE_NAME BACKUP_DEVICE'DAN < WITH STOPAT >zamanı, RECOVERY...
Kurtarma noktası, zamana göre belirtilen tarih saat değerinden önce veya öncesinde gerçekleşen en son işlem işlemesidir.
Yalnızca belirli bir zaman noktasından önce yapılan değişiklikleri geri yüklemek için, geri yüklediğiniz her yedekleme için WITH STOPAT =zamanını belirtin. Bu, hedef saati geçmemenizi sağlar.
Veritabanını belirli bir noktaya geri yüklemek için
Uyarı
Bu yordamın bir örneği için, bu bölümün devamında yer alan Örnek (Transact-SQL) bölümüne bakın.
Veritabanını geri yüklemek istediğiniz sunucu örneğine bağlanın.
NORECOVERY seçeneğini kullanarak RESTORE DATABASE deyimini yürütebilirsiniz.
Uyarı
Kısmi geri yükleme dizisi herhangi bir FILESTREAM dosya grubunu dışlarsa, belirli bir noktaya geri yükleme desteklenmez. Geri yükleme sırasını devam etmeye zorlayabilirsiniz. Ancak, RESTORE deyiminizden atlanan FILESTREAM dosya grupları hiçbir zaman geri yüklenemez. Belirli bir noktaya geri yüklemeyi zorlamak için, sonraki RESTORE LOG deyimlerinizde de belirtmeniz gereken STOPAT, STOPATMARK veya STOPBEFOREMARK seçeneğiyle birlikte CONTINUE_AFTER_ERROR seçeneğini belirtin. CONTINUE_AFTER_ERROR belirtirseniz, kısmi geri yükleme dizisi başarılı olur ve FILESTREAM dosya grubu kurtarılamaz hale gelir.
Son diferansiyel veritabanı yedeklemesini, varsa, veritabanını kurtarmadan geri yükleyin (yedekleme_birimi'nden database_name veritabanını NORECOVERY ile geri yükle).
Günlük geri yüklemeyi durdurmak istediğiniz zamanı belirterek her işlem günlüğü yedeklemesini oluşturuldukları sırada uygulayın (RESTORE DATABASE database_name FROM <backup_device> WITH STOPAT =time, RECOVERY).
Uyarı
KURTARMA ve STOPAT seçenekleri. İşlem günlüğü yedeklemesi istenen süreyi içermiyorsa (örneğin, belirtilen süre işlem günlüğünün kapsadığı sürenin sonundan fazlaysa), bir uyarı oluşturulur ve veritabanı kapsanmayan kalır.
Örnek (Transact-SQL)
Aşağıdaki örnek, şu aşamadan itibaren veritabanını durumuna 12:00 AMApril 15, 2020 geri yükler ve birden çok günlük yedeklemesi içeren bir geri yükleme işlemi gösterir. yedekleme cihazında, AdventureWorksBackupsgeri yüklenecek tam veritabanı yedeklemesi cihazdaki üçüncü yedekleme kümesidir ()FILE = 3 ve ilk günlük yedeklemesi dördüncü yedekleme kümesidir ()FILE = 4 ve ikinci günlük yedeklemesi beşinci yedekleme kümesidir (FILE = 5).
Önemli
Veritabanı AdventureWorks2025 basit kurtarma modelini kullanır. Günlük yedeklemelerine izin vermek için, tam veritabanı yedeklemesi almadan önce veritabanı, ALTER DATABASE AdventureWorks SET RECOVERY FULL kullanılarak tam kurtarma modeline ayarlanmıştır.
RESTORE DATABASE AdventureWorks
FROM AdventureWorksBackups
WITH FILE=3, NORECOVERY;
RESTORE LOG AdventureWorks
FROM AdventureWorksBackups
WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE LOG AdventureWorks
FROM AdventureWorksBackups
WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks WITH RECOVERY;
GO
İlgili Görevler
Tam Kurtarma Modeli Altında Veritabanını Hata Noktasına Geri Yükleme (Transact-SQL)
Veritabanını İşaretli İşlemlere Geri Yükleme (SQL Server Management Studio)
ToPointInTime (SMO)
Ayrıca Bkz.
backupset (Transact-SQL)
RESTORE (Transact-SQL)
HEADERONLY GERI YÜKLEME (Transact-SQL)