RESTORE (Transact-SQL)

Yedekle komutu kullanılarak gerçekleştirilen yedekleri geri yükler.Bu komut aşağıdaki geri yükleme senaryoları gerçekleştirmenize olanak sağlar:

  • Tüm bir veritabanının bir tam veritabanı yedek (bir tam geri yükleme) geri yükleyin.

  • Bölümü (bir kısmi geri yükleme) bir veritabanı geri yükleme.

  • Belirli dosyaları veya filegroups (bir dosya geri yüklemesi) veritabanına geri yükleyin.

  • Belirli sayfaları (bir sayfa geri yükleme) veritabanına geri yükleyin.

  • İşlem günlüğü (bir hareketi oturum geri yükleme) bir veritabanı üzerine geri yükleyin.

  • Bir veritabanı veritabanı anlık görüntüsütarafından yakalanan saat noktasına geri dönmek.

Hakkında daha fazla bilgi için SQL ServerBkz:geri yükleme senaryoları, Geri yükleme ve kurtarma Özet (SQL Server) ve SQL Server veritabanları için geri yükleme senaryoları uygulama.

Not

Bağımsız değişkenlerin açıklamaları hakkında daha fazla bilgi için bkz: Bağımsız değişkenlerini (Transact-SQL) geri yükleme.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var } 
 [ FROM <backup_device> [ ,...n ] ]
 [ WITH 
   {
    [ RECOVERY | NORECOVERY | STANDBY = 
        {standby_file_name | @standby_file_name_var } 
       ]
   | ,  <general_WITH_options> [ ,...n ]
   | , <replication_WITH_option>
   | , <change_data_capture_WITH_option>
   | , <service_broker_WITH options> 
   | , <point_in_time_WITH_options—RESTORE_DATABASE> 
   } [ ,...n ]
 ]
[;]

--To perform the first step of the initial restore sequence
-- of a piecemeal restore:
RESTORE DATABASE { database_name | @database_name_var } 
   <files_or_filegroups> [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ] 
   WITH 
      PARTIAL, NORECOVERY 
      [  , <general_WITH_options> [ ,...n ] 
       | , <point_in_time_WITH_options—RESTORE_DATABASE> 
      ] [ ,...n ] 
[;]

--To Restore Specific Files or Filegroups: 
RESTORE DATABASE { database_name | @database_name_var } 
   <file_or_filegroup> [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ] 
   WITH 
   {
      [ RECOVERY | NORECOVERY ]
      [ , <general_WITH_options> [ ,...n ] ]
   } [ ,...n ] 
[;]

--To Restore Specific Pages: 
RESTORE DATABASE { database_name | @database_name_var } 
   PAGE = 'file:page [ ,...n ]' 
 [ , <file_or_filegroups> ] [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ] 
   WITH 
       NORECOVERY   
      [ , <general_WITH_options> [ ,...n ] ]
[;]

--To Restore a Transaction Log:
RESTORE LOG { database_name | @database_name_var } 
 [ <file_or_filegroup_or_pages> [ ,...n ] ]
 [ FROM <backup_device> [ ,...n ] ] 
 [ WITH 
   {
     [ RECOVERY | NORECOVERY | STANDBY = 
        {standby_file_name | @standby_file_name_var } 
       ]
    | ,  <general_WITH_options> [ ,...n ]
    | , <replication_WITH_option>
    | , <point_in_time_WITH_options—RESTORE_LOG> 
   } [ ,...n ]
 ] 
[;]

--To Revert a Database to a Database Snapshot:   
RESTORE DATABASE { database_name | @database_name_var } 
FROM DATABASE_SNAPSHOT = database_snapshot_name 

<backup_device>::=
{ 
   { logical_backup_device_name |
      @logical_backup_device_name_var }
 | { DISK | TAPE } = { 'physical_backup_device_name' |
      @physical_backup_device_name_var } 
} 

<files_or_filegroups>::= 
{ 
   FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var } 
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } 
 | READ_WRITE_FILEGROUPS
} 

<general_WITH_options> [ ,...n ]::= 
--Restore Operation Options
   MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' 
          [ ,...n ] 
 | REPLACE 
 | RESTART 
 | RESTRICTED_USER 

--Backup Set Options
 | FILE = { backup_set_file_number | @backup_set_file_number } 
 | PASSWORD = { password | @password_variable } 

--Media Set Options
 | MEDIANAME = { media_name | @media_name_variable } 
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable } 
 | BLOCKSIZE = { blocksize | @blocksize_variable } 

--Data Transfer Options
 | BUFFERCOUNT = { buffercount | @buffercount_variable } 
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options
 | { CHECKSUM | NO_CHECKSUM } 
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR } 

--Monitoring Options
 | STATS [ = percentage ] 

--Tape Options
 | { REWIND | NOREWIND } 
 | { UNLOAD | NOUNLOAD } 

<replication_WITH_option>::=
 | KEEP_REPLICATION 

<change_data_capture_WITH_option>::=
 | KEEP_CDC

<service_broker_WITH_options>::= 
 | ENABLE_BROKER 
 | ERROR_BROKER_CONVERSATIONS 
 | NEW_BROKER 


<point_in_time_WITH_options—RESTORE_DATABASE>::= 
 | {
   STOPAT = { 'datetime'| @datetime_var } 
 | STOPATMARK = { 'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
 | STOPBEFOREMARK = {  'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
   } 

<point_in_time_WITH_options—RESTORE_LOG>::= 
 | {
   STOPAT = { 'datetime'| @datetime_var } 
 | STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
 | STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
   } 

Bağımsız değişkenler

Bağımsız değişkenler tanımları için bkz: Bağımsız değişkenlerini (Transact-SQL) geri yükleme.

Açıklamalar

geri yükleme yedek sıkıştırılmış veritabanı sıkıştırılmamış bir veritabanına yapamazsınız.

Belirtilen veritabanı, kullanılıyorsa bir çevrimdışı geri yüklemesırasında geri yükleme kullanıcıların kapalı kısa bir gecikmeden sonra zorlar.çevrimiçi geri yükleme , birincil olmayan dosya grubuiçin veritabanı ne zaman geri yüklenen dosya grubu çevrimdışı duruma geçiriliyor dışında kullanımda da sağlanabilir.Belirtilen veritabanındaki herhangi bir veri geri yüklenen verileriyle değiştirilir.

Veritabanı kurtarmahakkında daha fazla bilgi için bkz: Anlama nasıl geri ve SQL Server Yedekleme kurtarma çalışma ve SQL Server veritabanları için geri yükleme senaryoları uygulama.

Veritabanı harmanlama işletim sistemi tarafından desteklenen sürece bile farklı işlemci türleri arasında çapraz platform geri yükleme işlemleri gerçekleştirilebilir.

Geri yükleme bir hatadan sonra yeniden başlatılabilir.Buna ek olarak, geri yükleme hataları rağmen devam etmek için söyleyebilir ve olabildiğince çok veri geri yükler (CONTINUE_AFTER_ERROR seçeneği bakın).Daha fazla bilgi için, bkz. SQL Server geri yükleme hataları nedeniyle zarar görmüş yedekleri tarafından yanıt.

Geri yükleme açık bir verilmez veya örtük işlem.

Bozuk bir geri ana veritabanı özel bir yordam kullanılarak gerçekleştirilir.Daha fazla bilgi için, bkz. Master veritabanını geri dikkat edilmesi gereken noktalar.

İle oluşturulan yedekler Microsoft SQL Server olamaz geri yüklenemedi önceki sürüm SQL Server.

Bir veritabanını geri yüklemek için örnek plan önbelleği temizler SQL Server.Plan önbelleği temizleniyor, yeniden derlemesinde tüm sonraki yürütme planları, neden olur ve ani bir geçici sorgu performans azalmasına neden olabilir.İtibariyle SQL Server 2005 plan önbelleğinde temizlenmiş her cachestore için Service Pack 2 SQL Server hata günlüğü aşağıdaki bilgi iletisini içerir: "SQL Server'% s' için temizleme cachestore yerde %d karşılaştı cachestore (planı önbellek parçası) bazı veritabanı bakım veya yeniden yapılandırma işlemleri yüzünden".Bu saat aralığında önbelleği temizlendi sürece bu ileti her beş dakikada bir günlüğe kaydedilir.

Geri yüklenen veritabanı az olmalıdır sürüm 80 (SQL Server 2000) geri yükleme SQL Server 2008 R2.SQL Server 2000veya SQL Server 2005 bir uyumluluk düzey küçüktür 80 olan veritabanları küme geri zaman 80 uyumluluk olacaktır.

Not

geri yükleme sonra bir SQL Server 2005 veya SQL Server 2000 veritabanına SQL Server 2008 R2, veritabanı hemen kullanılabilir hale gelir ve daha sonra otomatik olarak yükseltilir.Veritabanı tam metin dizinlerini varsa, yükseltme işlemi alır, sıfırlar veya bunları ayarına bağlı olarak yeniden oluşturur upgrade_option sunucu özellik.Yükseltme seçeneği almak için küme olup olmadığını (upgrade_option = 2) veya yeniden (upgrade_option = 0), tam metin dizinlerini yükseltme sırasında kullanılamaz.Dizini Oluşturulmakta olan veri miktarına bağlı olarak, alma işlemi birkaç saat sürebilir ve yeniden inşa etmek en çok on kat daha uzun sürebilir.Yükseltme seçeneği almak için küme olduğunda, hiçbir tam metin kataloğu varsa ilişkili tam metin dizinlerini yeniden oluşturulur.Ayarı değiştirmek için upgrade_option sunucu özellik, kullanım sp_fulltext_service.

Geri yükleme senaryoları

SQL Servergeri yükleme senaryoları çeşitli destekler:

Discontinued geri anahtar sözcükler

Aşağıdaki anahtar sözcükler yarıda SQL Server 2008:

Discontinued anahtar sözcük

Değiştirilen by…

Anahtar sözcüğü değiştirme örneği

YÜK

GERİ YÜKLEME

RESTORE DATABASE

HAREKET

GÜNLÜK

RESTORE LOG

DBO_ONLY

RESTRICTED_USER

RESTORE DATABASE ... WITH RESTRICTED_USER

Şifrelenmiş bir veritabanı geri yükleme için gereksinim

geri yükleme için şifrelenmiş bir veritabanı, sertifika veya veritabanını şifrelemek için kullanılan asimetrik anahtar erişimi olması gerekir.sertifika veya asimetrik anahtarveritabanı geri yüklenemiyor.yedek gerektiği sürece veritabanı şifrelemeanahtar şifrelemek için kullanılan sertifika sonuç olarak korunması gerekir. Daha fazla bilgi için, bkz. SQL ServerSertifikaları ve asimetrik anahtarları.

Vardecimal depolama biçimi için veritabanı etkin

Yedekleme ve geri yükleme çalışmak doğru vardecimal depolama biçimi.Hakkında daha fazla bilgi için vardecimal depolama biçimi, bkz: Değişken uzunlukta ondalık veri saklama.

Kurtarma ve norecovery karşılaştırma

Geri restore deyim denetlenmektedir [kurtarma | norecovery] Seçenekler:

  • Bu geri almak ortaya norecovery belirtir.Böylece, sıradaki sonraki deyim ile devam etmek ileri sarmak .

    Bu durum, geri yükleme sırası diğer yedekleri geri yükleme yapabilirsiniz ve ileriye Top.

  • Kurtarma (varsayılan), ileri sarmak geçerli yedekiçin tamamlandıktan sonra bu geri almak gerçekleştirilmesi gerektiğini gösterir.

    Veritabanı kurtarma, gerektiren tüm küme , geri yüklenen verileri ( ileri sarmak küme) veritabanı ile tutarlı.ileri sarmakküme İleri yeterli veritabanı ile tutarlı olacak şekilde alındı değil ve kurtarma belirtilmişse, Veritabanı Altyapısı veren bir hata.

Geri yükleme yineleme

Bir geri yükleme etkilerini geri alma mümkün değildir; olumsuz ancak, veri kopyalama ve ileri sarmak etkilerini üzerinden dosya başına temelinde başlayarak yanıtlamak.Başlamak için geri yükleme istediğiniz dosya ve ileri sarmak yeniden gerçekleştirin.Örneğin, yanlışlıkla çok fazla günlüğü yedeklerini geri ve noktasını durdurmadan, amaçlanan overshot, sıra yeniden başlatması gerekir.

geri yükleme sırası durduruldu ve etkilenen dosyaların tüm içeriğini geri yükleyerek yeniden.

Tam metin verileri geri yükleme

Tam metin veri diğer veritabanı verileriyle birlikte bir tam geri yüklemesırasında geri yüklenir.Normal kullanarak RESTORE DATABASE database_name FROM backup_device sözdizimi, tam metin dosyaları, veritabanı dosyası geri yüklemeparçası olarak geri yüklenir.

restore deyim farklı yerler, fark geri yükler, dosya ve dosya grubu geri yükleme ve tam metin veri fark dosya ve dosya grubu geri yükler geri yükleme gerçekleştirmek için de kullanılabilir.Buna ek olarak, geri yükleme, geri yükleme tam metin dosyalarını yalnızca, hem de veritabanı verileriyle olabilir.

Not

Tam-metin katalogları içe SQL Server 2005 veya SQL Server 2000 hala olarak kabul edilirveritabanı dosyaları.Bu, SQL Server 2005 tam-metin katalogları yedekleme yordamı geçerli kalır, dışında duraklatma ve yeniden başlatma sırasında yedek işlemi olan artık gerekli.Daha fazla bilgi için bkz: Metatabanını yedekleme ve geri yükleme tam-metin katalogları de SQL Server 2005 Books Online.

Veritabanı ayarlarını ve geri yükleme

Bir geri yüklemesırasında alter database kullanarak ayarlanabilir veritabanı seçeneklerinin çoğu saat yedekucunun zorla değerlere sıfırlanır.

Not

Bu davranış sürümlerinden farklı SQL Server önce SQL Server 2000.

İLE RESTRICTED_USER seçeneğini kullanarak, ancak, bu davranış için kullanıcı erişim seçeneği ayarı geçersiz kılar.Bu ayar her zaman birlikte RESTRICTED_USER seçeneği içeren bir geri yükleme deyim küme içindir.

Yedekleme ve geri yükleme geçmişini tabloları

SQL ServerHer sunucu örnek yedek ve geri yükleme etkinliğini izlemek yedek ve geri yüklemegeçmiş tabloları içerir. Bir geri yükleme gerçekleştirildiğinde, yedek geçmiş tabloları da değiştirilir.Bu tablolar hakkında daha fazla bilgi için bkz: Yedekler hakkında bilgileri görüntüleme.

GÜNLÜK GERİ YÜKLEME

restore log dosyalarının oluşturulması sırasında ileri sarmakizin vermek için dosya listesi içerebilir.Günlük yedek günlük kayıtlarının veritabanına dosya eklendiği sırada yazılmış içerdiğinde kullanılır.

Not

Tam kullanarak bir veritabanı için veya toplu günlük kurtarma modeli, çoğu durumda, yedeklemek tail günlük veritabanına geri yüklemeden önce gerekir.restore database deyim ile değiştirebilir veya yan tümceile stopat içermediği sürece ilk hata, sonuçlar günlük tail yedekleme olmadan bir veritabanını geri yüklemek, hangi bir saat ya da sonunda veri yedekoluştu işlem belirtmeniz gerekir.Tail günlük yedeklemeler hakkında daha fazla bilgi için bkz: Tail günlüğü yedekleri.

Çevrimiçi geri yükleme

Not

Çevrimiçi geri yükleme izin yalnızca SQL Server 2005 Enterprise Edition ve sonraki sürümleri.

Veritabanı çevrimiçi ise çevrimiçi geri yükleme , desteklenen yerlerde, dosyayı geri yükler ve sayfa geri yüklemeler otomatik olarak çevrimiçi geri yüklemeler ve, ayrıca, başlangıç aşamasında bir parçalı geri yüklemesonra ikincil dosya grubu geri yükler.

Not

Çevrimiçi geri yüklemeler ilgili ertelenmiş hareketleri.

Daha fazla bilgi için, bkz. Çevrimiçi geri yüklemeler gerçekleştirme.

İçinde geri

Yeni parçalı geri yükleme, SQL Server 2005, geliştirir Microsoft SQL Server 2000 kısmi geri yükleme.Bir başlangıç, kısmi geri yükleme birincil ve ikincil filegroups bazıları sonra geri yüklenecek dosya gruplarını parçalı geri yükleme verir.Geri dosya gruplarını çevrimdışı olarak işaretlenir ve erişilebilir değil.Çevrimdışı filegroups ancak daha sonra bir dosya geri yüklemesitarafından geri yüklenebilir.Aşamalarında farklı zamanlarda geri yüklenecek tüm veritabanı izin vermek için parçalı geri yükleme korumak veritabanı sonunda, tutarlı olmasını sağlamak için denetler.

Not

De SQL Server 2000, bir kısmi geri yükleme yalnızca bir tam veritabanı yedekyapılabilir.Bu kısıtlama, kaldırıldı SQL Server 2005.

Herhangi bir kısmi geri yükleme sırası tutuyorsa FILESTREAM dosya grubu, point-içinde-saat geri yükleme desteklenmiyor.Devam etmek için geri yükleme sırası zorlayabilirsiniz.Ancak, restore deyim atlanır FILESTREAM filegroups hiçbir zaman geri yüklenebilir.Bir noktayı zorlamak için-içinde-saat geri yükleme, sonraki restore log deyimlerinde de belirtmelisiniz stopat, NOKTASINA veya STOPBEFOREMARK'ı seçeneği ile birlikte CONTINUE_AFTER_ERROR seçeneğini belirtin.CONTINUE_AFTER_ERROR belirtirseniz, kısmi geri yükleme sırası başarılı ve dosya grubu FILESTREAM kurtarılamaz duruma gelir.

parçalı geri yüklemehakkında daha fazla bilgi için bkz: Parçalı geri yüklemeler gerçekleştirme.

Bir veritabanı için veritabanı anlık görüntü dönüştürme

A veritabanı işlemi geri alır tam kaynak veritabanı geri saat içinde (belirtilen database_snapshot seçeneğini kullanarak), saat veritabanı anlık görüntüsüiçin geri dönülmesi, yani kaynak veritabanı içinde belirtilen veritabanı anlık görüntüsüsaklanır saat noktasından verilerle üzerine.Yalnızca geri anlık görüntü var olabilir.Geri döndürme işlemi sonra günlüğü yeniden oluşturur (Bu nedenle, daha ileri sarmak dönüştürülen veritabanı kullanıcı hata noktasına yapamazsınız).

Veri kaybı güncelleştirmeler veritabanı anlık görüntügörüntünün oluşturulması bu yana katmanlarla sınırlıdır.Dönüştürülen veritabanı meta veriler meta veriler anlık görüntü oluşturma saat aynıdır.Ancak, bir anlık görüntü dönüştürme tam metin kataloglar bırakır.

veritabanı anlık görüntüsü görüntüden geri dönülmesi medya kurtarmaiçin tasarlanmamıştır.Bir normal yedek küme, veritabanı anlık görüntüsü bir eksik veritabanı dosyaları kopyasıdır.Veritabanı veya veritabanı anlık görüntüsü bozuksa, anlık görüntü görüntüden geri dönülmesi imkansız olasıdır.Üstelik bile mümkün olduğunda, olay bozulma geri dönülmesi sorunu düzeltmek düşüktür.

Dönülüyor kısıtlamaları

Geri dönülmesi, aşağıdaki koşullar altında desteklenmez:

  • kaynak veritabanı salt okunur veya sıkıştırılmış filegroups içerir.

  • Dosyalar çevrimdışı, çevrimiçi anlık görüntü oluşturulduğunda.

  • Veritabanının birden çok anlık görüntü şimdilik.

Daha fazla bilgi için, bkz. Bir veritabanı Snapshot dönüştürme.

İzinler

Geri yüklenen veritabanı yoksa, kullanıcının yürütmek için geri yükleme için veritabanı oluşturma izinleri olması gerekir.Veritabanı varsa, geri yükleme izinleri üyeleri için varsayılan sysadmin ve dbcreator sabit sunucu rolleri ve sahibi (dbo) veritabanının (dan database_snapshot seçeneği için veritabanı her zaman vardır).

Geri yükleme izinleri, hangi üyelik bilgileri her zaman kullanılabilir sunucu rolleri için verilmiştir.Yalnızca veritabanı erişilebilir ve bozulmamış ise sabit veritabanı rolü üyeliği denetlenir, hangi değildir, çünkü her zaman durum geri yükleme yürütüldüğünde, üyeleri db_owner sabit veritabanı rolü geri yükleme izinlerine sahip değil.

yedek işlemi isteğe bağlı olarak bir medya kümesi, bir yedekkümeveya her ikisi için parolalarını belirtebilir. Parola bir medya kümesi veya yedek kümetanımlandığında geri yükleme deyimdoğru parola veya parola belirtmeniz gerekir.Bu parolalar yetkisiz geri yükleme işlemlerini önlemek ve yetkisiz media kullanarak yedek kümelerinin ekler SQL Server Araçlar.Ancak, parola korumalı ortam yedekleme deyimbiçimi seçeneği tarafından üzerine yazılabilir.

Güvenlik notuGüvenlik Notu

Bu parola sağlanan koruma zayıftır.Hatalı geri yükleme kullanarak bir engellemeye yöneliktir SQL Server araçları tarafından yetkili veya yetkisiz kullanıcıların.Bu yedek veri okuma başka yollarla veya parola değiştirme engellemez.Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.yedek teyplerini güvenli bir konuma veya yedeklemek için yeterli erişim denetim listeleri (ACL) tarafından korunan disk dosyalarını depolamak için yedekleri korumak için en iyi yöntem olacaktır.ACL'leri küme altında yedeklemeleri oluşturulan dizin kök olmalıdır.

Örnekler

Not

AdventureWorks2008R2 Veritabanı gösterilen resimde.AdventureWorks2008R2örnek veritabanları biri olan SQL Server.Adventure Works Cycles, veritabanı kavramlarını ve senaryoları örneklendirmek için kullanılan sanal bir üretim şirketidir.Bu veritabanı hakkında daha fazla bilgi için bkz: AdventureWorks2008R2 örnek veritabanları.

Bir tam veritabanı yedek gerçekleştirilmediğini tüm örneklerde varsayılmaktadır.

Geri yükleme örnekleri şunlardır:

  • A.Tam veritabanı geri yükleme

  • B.Tam ve farklı veritabanı yedeklemelerini geri yükleme

  • C.Yeniden başlatma sözdizimini kullanarak bir veritabanını geri yükleme

  • D.Veritabanı ve taşıma dosyaları geri yükleme

  • E.Yedekleme ve geri yükleme kullanarak bir veritabanı kopyalama

  • F.Bir noktaya geri-içinde-saat stopat kullanma

  • G.İşlem günlüğü bir işareti geri yükleme

  • H.Teyp sözdizimini kullanarak geri yükleme

  • Ö.Dosya ve dosya grubu sözdizimini kullanarak geri yükleme

  • J.veritabanı anlık görüntüsügörüntüden geri dönme

Not

Ek örnekler için bkz: Geri yükleme senaryoları için birkaç geri Sequences örnekleri ve de geri yükleme nasıl yapılır konuları listelenen Yedekleme ve geri yükleme nasıl yapılır konuları (Transact-SQL).

A.Tam veritabanı geri yükleme

Aşağıdaki örnek bir tam veritabanı yedek gelen yükler AdventureWorks2008R2Backups mantıksal yedek aygıtı.Bu aygıtı oluşturma örneği için bkz: Yedekleme aygıtları.

RESTORE DATABASE AdventureWorks2008R2 
   FROM AdventureWorks2008R2Backups

Not

Tam kullanarak bir veritabanı için veya toplu günlük kurtarma modeli, SQL Server o, yedeklemek geri veritabanında önce günlük tail gerektirir çoğu durumdaDaha fazla bilgi için, bkz. Tail günlüğü yedekleri.

Örnekler [başa dön]

B.Tam ve farklı veritabanı yedeklemelerini geri yükleme

Aşağıdaki örnek bir fark yedek izlediği bir tam veritabanı yedek geri yükler Z:\SQLServerBackups\AdventureWorks2008R2.bakyedek aygıtı içeren iki yedekler. Geri yüklenecek tam veritabanı yedek olan altıncı yedek küme aygıt (FILE = 6), ve fark veritabanı yedek dokuzuncu yedek küme aygıt (FILE = 9).Fark yedek kurtarıldıktan hemen sonra veritabanı kurtarılır.

RESTORE DATABASE AdventureWorks2008R2
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak'
   WITH FILE = 6
      NORECOVERY;
RESTORE DATABASE AdventureWorks2008R2
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak'
   WITH FILE = 9
      RECOVERY;

Örnekler [başa dön]

C.Yeniden başlatma sözdizimini kullanarak bir veritabanını geri yükleme

Aşağıdaki örnek RESTART yeniden başlatma seçeneği bir RESTORE işlemi kesti tarafından bir sunucu güç hatası.

-- This database RESTORE halted prematurely due to power failure.
RESTORE DATABASE AdventureWorks2008R2
   FROM AdventureWorks2008R2Backups
-- Here is the RESTORE RESTART operation.
RESTORE DATABASE AdventureWorks2008R2 
   FROM AdventureWorks2008R2Backups WITH RESTART

Örnekler [başa dön]

D.Veritabanı ve taşıma dosyaları geri yükleme

Aşağıdaki örnekte tam bir veritabanı ve hareket günlüğü geri yükler ve geri yüklenen veritabanına taşır C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data dizin.

RESTORE DATABASE AdventureWorks2008R2
   FROM AdventureWorks2008R2Backups
   WITH NORECOVERY, 
      MOVE 'AdventureWorks2008R2_Data' TO 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\NewAdvWorks2008R2.mdf', 
      MOVE 'AdventureWorks2008R2_Log' 
TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\NewAdvWorks2008R2.ldf'
RESTORE LOG AdventureWorks2008R2
   FROM AdventureWorks2008R2Backups
   WITH RECOVERY

Örnekler [başa dön]

E.Yedekleme ve geri yükleme kullanarak bir veritabanı kopyalama

Aşağıdaki örnek, her ikisini de kullanır BACKUP ve RESTORE bir kopyasını oluşturmak için ifadeleri AdventureWorks2008R2 veritabanı.MOVEdeyim belirtilen konuma geri yüklenecek veri ve günlük dosyası neden olur. RESTORE FILELISTONLYdeyim , geri yüklenen veritabanı içindeki dosyaların adlarını ve sayılarını belirlemek için kullanılır. Yeni veritabanının kopyasını adlı TestDB.Daha fazla bilgi için, bkz. Geri yükleme FILELISTONLY (Transact-SQL).

BACKUP DATABASE AdventureWorks2008R2 
   TO AdventureWorks2008R2Backups ;

RESTORE FILELISTONLY 
   FROM AdventureWorks2008R2Backups ;

RESTORE DATABASE TestDB 
   FROM AdventureWorks2008R2Backups 
   WITH MOVE 'AdventureWorks2008R2_Data' TO 'C:\MySQLServer\testdb.mdf',
   MOVE 'AdventureWorks2008R2_Log' TO 'C:\MySQLServer\testdb.ldf';
GO

Örnekler [başa dön]

F.Bir noktaya geri-içinde-saat stopat kullanma

Aşağıdaki örnek veritabanını geri yükler, durumuna itibariyle 12:00 AM üzerinde April 15, 2020 ve bir geri yükleme işlemi, ilgili birden çok günlük yedeklemeler.yedek aygıtındaki AdventureWorks2008R2Backups, üçüncü yedekküme aygıttaki geri tam veritabanı yedek olan ( FILE = 3), ilk günlük yedek olan dördüncü yedekküme ( FILE = 4), ve ikinci günlük yedek beşinci yedekküme ( FILE = 5).

RESTORE DATABASE AdventureWorks2008R2
   FROM AdventureWorks2008R2Backups
   WITH FILE=3, NORECOVERY;

RESTORE LOG AdventureWorks2008R2
   FROM AdventureWorks2008R2Backups
   WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';

RESTORE LOG AdventureWorks2008R2
   FROM AdventureWorks2008R2Backups
   WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks2008R2 WITH RECOVERY; 

Örnekler [başa dön]

G.İşlem günlüğü bir işareti geri yükleme

Aşağıdaki örnek işlem günlüğü adlı işaretli hareket işareti geri yükler ListPriceUpdate.

USE AdventureWorks2008R2;
GO
BEGIN TRANSACTION ListPriceUpdate
   WITH MARK 'UPDATE Product list prices';
GO

UPDATE Production.Product
   SET ListPrice = ListPrice * 1.10
   WHERE ProductNumber LIKE 'BK-%';
GO

COMMIT TRANSACTION ListPriceUpdate;
GO

-- Time passes. Regular database 
-- and log backups are taken.
-- An error occurs in the database.
USE master
GO

RESTORE DATABASE AdventureWorks2008R2
FROM AdventureWorks2008R2Backups
WITH FILE = 3, NORECOVERY;
GO

RESTORE LOG AdventureWorks2008R2
   FROM AdventureWorks2008R2Backups 
   WITH FILE = 4,
   RECOVERY, 
   STOPATMARK = 'ListPriceUpdate';

Örnekler [başa dön]

H.Teyp sözdizimini kullanarak geri yükleme

Aşağıdaki örnek bir tam veritabanı yedek gelen yükler bir TAPE yedek aygıtı.

RESTORE DATABASE AdventureWorks2008R2 
   FROM TAPE = '\\.\tape0'

Örnekler [başa dön]

Ö.Dosya ve dosya grubu sözdizimini kullanarak geri yükleme

Aşağıdaki örnek, adlı bir veritabanı geri yükler MyDatabase iki dosya, bir ikincil dosya grubuve bir işlem günlüğünü vardırVeritabanı kullanan tam kurtarma modeli.

Veritabanı yedek dokuzuncu yedek küme medya kümesi adlı bir mantıksal yedek aygıtı olan MyDatabaseBackups.Ardından, üç sonraki üç yedek kümeleri içinde yedekleri oturum (10, 11, ve 12), MyDatabaseBackups aygıtı kullanarak geri WITH NORECOVERY.Son günlük yedekgeri yüklendikten sonra veritabanı kurtarılır.

Not

Kurtarma, çok erken tüm günlük yedeklemeler geri önce kurtarma olasılığını azaltmak için ayrı bir adım olarak gerçekleştirilir.

De RESTORE DATABASE, dikkat edin, iki tür vardır FILE seçenekleri.FILE Seçenekleri önceki yedek aygıt adı veritabanı dosyalarından geri yüklenemedi yedekküme; dan için mantıksal dosya adlarını belirtme Örneğin, FILE = 'MyDatabase_data_1'.Bu yedek küme ilk veritabanı yedek medya kümesideğildir; konumuna medya kümesi kullanarak bu nedenle belirtilen FILE , seçenek WITH yan tümce FILE=9.

RESTORE DATABASE MyDatabase
   FILE = 'MyDatabase_data_1',
   FILE = 'MyDatabase_data_2',
   FILEGROUP = 'new_customers'
   FROM MyDatabaseBackups
   WITH 
      FILE = 9,
      NORECOVERY;
GO
-- Restore the log backups.
RESTORE LOG MyDatabase
   FROM MyDatabaseBackups
   WITH FILE = 10, 
      NORECOVERY;
GO
RESTORE LOG MyDatabase
   FROM MyDatabaseBackups
   WITH FILE = 11, 
      NORECOVERY;
GO
RESTORE LOG MyDatabase
   FROM MyDatabaseBackups
   WITH FILE = 12, 
      NORECOVERY;
GO
--Recover the database:
RESTORE DATABASE MyDatabase WITH RECOVERY;
GO

Örnekler [başa dön]

J.veritabanı anlık görüntüsügörüntüden geri dönme

Aşağıdaki örnek, bir veritabanı veritabanı anlık görüntüsüdöner.Bu sadece bir anlık görüntü veritabanı üzerinde şimdilik örnek varsayar.Bu veritabanı anlık görüntüsüoluşturma konusunda bir örnek için bkz: Nasıl yapılır: Veritabanı Snapshot (Transact-sql) oluştur.

Not

Bir anlık görüntü dönüştürme tam metin kataloglar bırakır.

USE master  
RESTORE DATABASE AdventureWorks2008R2 FROM DATABASE_SNAPSHOT = 'AdventureWorks2008R2_dbss1800';
GO

Daha fazla bilgi için, bkz. Bir veritabanı Snapshot dönüştürme.

Örnekler [başa dön]