Share via


Bir SQL Server veritabanına bir noktaya zaman (tam kurtarma modeli) geri

Bu konuda bir veritabanının zaman bir noktaya geri açıklar SQL Server 2012kullanarak SQL Server Management Studioya Transact-SQL. Bu konu yalnızca alakalı SQL Servertam veya toplu oturum kurtarma modeli kullanan veritabanları.

Önemli notÖnemli

Günlük yedekleme toplu değişiklikler içeriyorsa toplu oturum kurtarma modeli altında zaman içinde kurtarma o sırt içinde bir noktaya mümkün değildir. Veritabanı hareket günlük yedekleme sonuna kadar kurtarıldı gerekir.

  • Başlamadan önce: tavsiye, güvenlik 

  • Bir SQL Server veritabanına bir noktaya zamanında geri yüklemek için kullanma: SQL Server Management Studio'yu, Transact-sql 

Başlamadan Önce

Öneriler

  • BEKLEME süresi içinde bilinmeyen noktası bulmak için kullanın.

  • Noktası zamanında geri yükleme sırası erken belirtin

Bu en iyi yöntemleri hakkında daha fazla bilgi için bkz: Point-in-Time Restore (Full Recovery Model).

Güvenlik

İzinler

Geri yüklenen veri tabanı yoksa, RESTORE deyimini yürütebilmek için kullanıcının CREATE DATABASE izinleri olması gerekir. Veritabanı varsa, RESTORE izinleri varsayılan olarak sysadmin ve dbcreator sabit sunucu rolünün üyelerine ve veritabanının sahibine (dbo) verilir (FROM DATABASE_SNAPSHOT seçeneği için, veritabanının her zaman olması gerekir).

RESTORE izinleri, üyeleri hakkında sunucuda her zaman hemen bilgi bulunabilen rollere verilir. Sabit veritabanı rolü üyeliği yalnızca veritabanı erişilebilir ve hasarsız kontrol edilmesi, ki değildir, çünkü her zaman durumda geri yürütüldüğünde, üyelerinin db_owner sabit veritabanı rolü geri yükleme izinleri yok.

[Üst]

SQL Server Management Studio Kullanarak

Bir veritabanının zaman bir noktaya geri

  1. Nesne Explorer'da uygun sunucuya bağlanın SQL Server Veritabanı Altyapısıve sunucu ağacı.

  2. Genişletme veritabanları. Veritabanına bağlı bir kullanıcı veritabanını seçin veya genişletme Sistem veritabanlarıve sistem veritabanı seçin.

  3. Veritabanını sağ tıklatın, Gelin görevleri, Gelin gerive ardından veritabanı.

  4. Tarih Genel sayfasında, kullanmak kaynak bölümünde kaynak ve konumunu geri yüklemek için yedekleme kümelerini belirtmek için. Aşağıdaki seçeneklerden birini seçin:

    • Veritabanı

      Aşağı açılan listesinden geri veritabanını seçin. Liste yalnızca göre yedeklendi veritabanlarını içeren msdb yedekleme geçmiş.

    [!NOT]

    Yedeği farklı bir sunucudan alınır, hedef sunucu belirtilen veritabanı yedekleme geçmiş bilgisi yoktur. Bu durumda seçin aygıt dosya veya geri yüklemek için aygıtı el ile belirlemek için.

    • Aygıt

      Gözat'ı (...) açmak için düğmeyi yedekleme aygıtları seçin iletişim kutusu. İçinde Yedekleme ortam türü kutusunda, listelenen aygıt türlerinden birini seçin. Bir veya daha fazla aygıt için seçmek için Yedekleme ortam kutusunda, tıklayın Ekle.

      Aygıt ekledikten sonra istediğiniz Yedekleme ortam liste kutusunda, tıklayın Tamam dönmek Genel sayfa.

      De Kaynak: aygıt: veritabanı liste kutusunda, restore veritabanı adını seçin.

      Not bu liste yalnızca kullanılabilir olduğunda aygıt seçilir. Seçili aygıt üzerinde yedekleme olan veritabanları kullanıma sunulacaktır.

  5. İçinde hedef bölümünde veritabanı kutusunu otomatik olarak geri yüklenecek veritabanı adı ile doldurulur. Veritabanı adını değiştirmek için yeni adı girin veritabanı kutusu.

  6. Tıklayın zaman çizelgesi erişim Yedekleme zaman çizelgesi iletişim kutusu.

  7. İçinde geri bölümünde, tıklayın belirli tarih ve saati.

  8. Kullanın tarihi ve zaman kutuları veya kaydırma çubuğunu belirli tarih ve zaman geri nerede durması gerektiğini belirtmek için. Tamam’ı tıklatın.

    [!NOT]

    Kullanım Zaman çizelgesi aralığı zaman çizelgesinde görüntülenen zaman miktarını değiştirmek için kutu.

  9. Zaman içinde belirli bir noktayı belirttikten sonra bu noktaya zamanında geri yüklemek için gerekli olan yedekleme seçili olduğunu geri sütununda geri Backupsets ızgara. Bu seçilen yedekleri sizin noktası zamanında geri yükleme için önerilen geri yükleme planı oluşturur. Seçili yedekleme için sizin noktası zamanında geri yükleme işleminin yalnızca kullanmanız gerekir.

    Sütunları hakkında bilgi geri yüklemek için yedekleme kümelerini kılavuz görmek Veritabanı (genel sayfası) geri yükleme.

  10. Tarih seçenekleri sayfa, buna geri yükleme seçenekleri Masası seçebilirsiniz aşağıdaki seçeneklerden durumunuza uygun olması durumunda:

    • Varolan veritabanı (değiştir) üzerine

    • (KEEP_REPLICATION ile) çoğaltma ayarları korumak

    • Geri yüklenen veritabanı (ile RESTRICTED_USER) erişimi sınırlama

    Bu seçenekler hakkında daha fazla bilgi için bkz: (Seçenekler sayfa) veritabanını geri yükle.

  11. Bir seçenek seçin Kurtarma durumu kutusu. Bu kutu, geri yükleme işleminden sonra veritabanının durumunu belirler.

    • restore WITH recovery hangi veritabanı geri kaydedilmemiş hareketleri çalışırken kullanılmaya hazır bırakır 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 seçin.

    • norecovery ile geri veritabanı çalışma dışı bırakır ve kaydedilmemiş hareketleri geri değil. Ek işlem günlükleri geri yüklenebilir. It is recovered kadar veritabanı kullanılamaz.

    • WITH standby geri hangi veritabanı salt okunur modunda bırakır. Kaydedilmemiş hareketleri geri alır, ancak bir yedek dosya geri alma eylemleri kaydeder, böylece kurtarma etkileri döndürülür.

    Seçenekleri tanımları için bkz: (Seçenekler sayfa) veritabanını geri yükle.

  12. Tail günlük yedekleme geri yükleme önce almak seçmiş olduğunuz zaman noktası gerekliyse seçilecektir. Bu ayarı değiştirmek gerekmez, ama sen-ebilmek seçmek-e gerekli olmasa bile günlüğü kuyruğu yedeklemek.

  13. Geri yükleme veritabanı etkin bağlantıları varsa işlemler başarısız olabilir. Kontrol yakın varolan bağlantıları seçeneği emin olmak için tüm etkin bağlantılar arasında Management Studiove veritabanı are yumuk. Bu onay kutusunu geri yükleme işlemlerini gerçekleştirmeden önce veritabanını tek kullanıcı moduna ayarlar ve çok kullanıcılı modda tamamlandığında veritabanı ayarlar.

  14. Seçin her yedekleme geri yüklemeden önce sor arasında her geri yükleme işleminin sorulmasını istiyorsanız. Bu büyük bir veritabanıdır ve geri yükleme işleminin durumunu izlemek istediğiniz sürece genellikle gerekli değildir.

[Üst]

Transact-SQL'i Kullanma

Başlamadan önce

Belirli bir zaman zaman günlük yedekten geri yüklenir. Geri yükleme sırası GNLK restore deyiminde her hedef zaman ya da işlem aynı stopat yantümcesinde belirtmeniz gerekir. Noktası zamanında geri yükleme için bir önkoşul size olan bitiş noktası hedef geri zaman önceki tam veritabanı yedeği geri yüklemeniz gerekir. Sürece daha sonra kadar her sonraki günlük yedekleme, geri ve hedef içeren günlük yedekleme zaman dilimi tam veritabanı yedeği en son tam veritabanı yedeklemesi büyük olabilir.

Hangi veritabanı yedeğini geri yüklemek için tanımlamanıza yardımcı olması için isteğe bağlı olarak ile stopat fıkra bir veri yedekleme çok son için belirtilen hedef zaman ise bir hata yükseltmek için restore database deyimi belirtebilirsiniz. Hedef zaman içerse bile tam veri yedekleme hep, geri yüklenir.

Temel Transact-SQLsözdizimi

restore log database_namefrom <backup_device > İle stopat =time, recovery…

Kurtarma noktası olduğunu, ya da önce oluştu son hareket tamamlama datetimetarafından belirtilen değeri time.

Önce belirli bir noktaya zamanında yapılan değişiklikleri geri yüklemek için stopat ile belirtmek = time geri yedekleme için.  Bu geçmiş hedef zaman gitmem emin olmayı sağlar.

Bir veritabanının zaman bir noktaya geri

[!NOT]

Bu yordamı örneği için bkz: örnek (Transact-sql), bu bölümde daha sonra.

  1. Bir veritabanını geri yüklemek istediğiniz sunucuya bağlanın.

  2. norecovery seçeneğini kullanarak restore database deyimi yürütme.

    [!NOT]

    Kısmi geri yükleme sırası herhangi tutuyorsa FILESTREAM filegroup, noktası zamanında geri yükleme desteklenmiyor. Devam etmek için geri yükleme sırası zorlayabilirsiniz. Ancak, restore deyimi atlanan FILESTREAM filegroups asla geri yüklenebilir. Noktası zamanında geri yükleme zorlamak için de, sonraki restore GNLK deyimleri belirtmelisiniz stopat, stopatmark veya stopbeforemark seçeneği ile birlikte CONTINUE_AFTER_ERROR seçeneği belirtin. CONTINUE_AFTER_ERROR belirtin, kısmi geri yükleme sırası başarılı ve FILESTREAM filegroup kurtarılamaz duruma gelir.

  3. Varsa, veritabanı kurtarma olmadan son fark veritabanı yedeğini geri yükleme (restore database database_namefrom backup_deviceWITH norecovery).

  4. Onlar oluşturulduğu, aynı sıradaki her hareket günlük yedekleme hangi günlük geri durmak niyetinde Saat belirterek (restore database database_namefrom <backup_device > İle stopat**=time,** kurtarma).

    [!NOT]

    Kurtarma ve stopat seçenek. Hareket günlük yedekleme istenen zaman içermiyorsa (örneğin belirtilen sürede işlem günlüğü tarafından kapsadığı zaman ötesine ise), bir uyarı üretilir ve veritabanı unrecovered kalır.

Örnek (Transact-sql)

Aşağıdaki örnek veritabanı olarak durumuna geri yükler 12:00 AMüzerine April 15, 2020ve bir geri yükleme işlemi birden fazla günlüğü yedekleri içerir gösterir. Yedekleme aygıtındaki AdventureWorksBackups, tam veritabanı yedeği geri yüklenecek olan üçüncü yedekleme aygıtı (FILE = 3), ilk günlük yedekleme dördüncü yedek kümesidir (FILE = 4), ve ikinci günlük yedekleme beşinci yedekleme kümesi (FILE = 5).

Önemli notÖnemli

AdventureWorks2012 Veritabanı Basit kurtarma modelini kullanır. Günlük yedeklemeler, tam veritabanı yedeklemesi gerçekleştirmeden önce izin vermek için veritabanı tam kurtarma kullanmak için kuruldu, modeli kullanarak ALTER DATABASE AdventureWorks SET RECOVERY FULL.

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

[Üst]

İlişkili İçerik

ilişkili Görevler

Ayrıca bkz.

Başvuru

backupset (Transact-sql)

RESTORE (Transact-SQL)

RESTORE (Transact-SQL)

restore headeronly (Transact-sql)

Kavramlar

Recovering to a Specific Point in Time

Diğer Kaynaklar

SQL Server Management Studio Tutorial Introduction