Aracılığıyla paylaş


geri yükleme (Transact-SQL)

yedek komutu kullanılarak yapılan yedeklemeler geri yükler.Bu komut aşağıdaki geri yükleme senaryoları gerçekleştirmenize olanak sağlar:

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

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

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

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

  • İşlem günlüğü (işlem günlük geri yükleme) veritabanının üzerine geri yükleyin.

  • Bir veritabanını anlık görüntü yakalanan saat bir veritabanı noktasına döner.

Daha fazla bilgiSQL Servergeri yükleme senaryoları için bkz:Geri yükleme ve Kurtarma'ya genel bakış (SQL Server)veSQL Server veritabanları için geri yükleme senaryoları uygulama.

Not

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

Topic link iconTransact-SQL sözdizimi kuralları

--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, açıklamaları için bkz:Bağımsız değişkenleri (Transact-SQL) geri yükleme.

Remarks

geri yükleme yükleyemezsiniz yedek sıkıştırılmış veritabanı için sıkıştırılmamış bir veritabanı.

Belirtilen veritabanı kullanılmakta ise, çevrimdışı bir geri yükleme sırasında RESTORE kullanıcılar devre dışı kısa bir gecikmeden sonra zorlar.Birincil olmayan bir dosya grubu çevrimiçi geri yükleme yüklemede, veritabanı, geri yükleme yüklenen dosya grubu çevrimdışı duruma dışında kullanılan tutabilirsiniz.Belirtilen veritabanındaki herhangi bir veri geri yüklenen verilerin yerini alır.

Veritabanı kurtarma hakkında daha fazla bilgi için bkz:Anlama nasıl geri yükleme ve Kurtarma yedekleri, SQL Server'da çalışmaveSQL Server veritabanları için geri yükleme senaryoları uygulama.

Platformlar arası geri yükleme işlemleri, hatta farklı işlemci türleri arasında gerçekleştirilmesi olarak Veritabanı Harmanlama, tarafından desteklenmektedir işletim sistemi.

Sonra bir hata geri yükleme yükle yeniden başlatılabilir.Buna rağmen hataları devam etmek için geri yükleme talimatını ve olabildiğince çok veri geri yükleme yükler (CONTINUE_AFTER_ERROR seçeneği bakın).Daha fazla bilgi için bkz: SQL Server geri yükleme hataları bozuk yedekleme tarafından neden yanıt.

geri yükleme açık veya kapalı bir işlemde izin verilmez.

Bozuk bir geriana kullanarak bir özel yordamı. veritabanı işlemi Daha fazla bilgi için bkz: asıl veritabanı geri dikkat edilmesi gereken noktalar.

Backups created with Microsoft SQL Server cannot be restored to an earlier version of SQL Server.

Bir veritabanını geri yükleme örnek için plan önbelleği temizlerSQL Server.Plan önbelleği temizleniyor tüm sonraki yürütme planlarının bir recompilation neden olur ve ani, geçici sorgu performans azalmasına neden olabilir.FarklıSQL Server 2005Planı önbelleğindeki temizlenmiş her cachestore için hizmet Pack 2,SQL Serverhata günlüğü aşağıdaki bilgi iletisini içerir: "SQL Server yerde cachestore, bazı veritabanı bakım yüzünden '% s' cachestore (planı önbellek bir parçasý) için temizleme veya işlemleri yeniden %d karşılaştı".Bu ileti, önbelleği, bu saat aralığında aktarılmadan sürece her beş dakikada bir günlüğe kaydedilir.

The database being restored must be at least version 80 (SQL Server 2000) to restore to SQL Server 2008.SQL Server 2000 or SQL Server 2005 databases that have a compatibility level less than 80 will be set to compatibility 80 when restored.

Not

, geri yükleme yükledikten sonra birSQL Server 2005orSQL Server 2000veritabanınaSQL Server 2008, veritabanını hemen kullanılabilir ve daha sonra otomatik olarak yükseltilir.If the database has full-text indexes, the upgrade process either imports, resets, or rebuilds them, depending on the setting of the upgrade_optionserver property.Yükseltme seçeneği ise küme almak için ( upgrade_option = 2) veya yeniden ( upgrade_option = 0), tam metin dizinlerini kullanılamaz yükseltme. sırasında Dizini Oluşturulmakta olan veri miktarına bağlı olarak, alma işlemi birkaç saat sürebilir ve yeniden oluşturulması en çok on kat daha uzun sürebilir.Almak için yükseltme seçeneği ayarladığınızda, hiçbir tam metin kataloğunun varsa, ilgili tam metin dizinlerini yeniden oluşturulur.Ayarını değiştirmek içinupgrade_option sunucu özellik, kullanım sp_fulltext_service .

Geri yükleme senaryoları

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

Discontinued geri yükleme anahtar sözcükler

Aşağıdaki anahtar sözcükler discontinued olarakSQL Server 2008:

Discontinued anahtar sözcüğü

Değiştirilen by…

Örneğin, yeni anahtar sözcük

YÜKLEME

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üklemek için gereksinim

Şifrelenmiş bir veritabanını geri yükleme yüklemek için sertifika veya veritabanını şifrelemek için kullanılan asimetrik anahtar erişimi olmalıdır.Sertifika veya asimetrik anahtar olmadan veritabanı geri yüklenemiyor.yedek gerekli sürece veritabanını şifreleme anahtar şifrelemek için kullanılan sertifikayı sonuç olarak korunabilmesi gerekir.Daha fazla bilgi için bkz: SQL sunucu sertifikası ve asimetrik anahtarları.

Vardecimal depolama biçimi için veritabanı etkin

yedek ve geri yükleme çalışmak doğruvardecimaldepolama biçimi.Daha fazla bilgivardecimaldepolama biçimi, bkz:Decimal veri değişken uzunluk depolama.

Kurtarma ve NORECOVERY

geri yükleme almak almak geri yükleme deyim ile denetlenir [kurtarma | NORECOVERY] Seçenekler:

  • NORECOVERY, geri almak almak değil belirtir.Böylece ileri sarmak sıradaki bir sonraki deyim etmek.

    Geri yükleme sırası diğer yedekleme geri yükleme ve böyle bir durumda, geri bunları iletme.

  • kurtarma (varsayılan), geçerli yedek. ileri sarmak almak almak tamamlandıktan sonra geri almak almak'nin gerçekleştirilmesi gösterir

    Veritabanı kurtarma gerektiren tüm geri yüklenen veri kümesi ( ileri sarma kümesi ) veritabanını. ile tutarlı Top İleri küme İleri yetecek kadar veritabanı ile tutarlı olması için alındı değil ve Kurtarma belirtilirse,Database Enginesorunlar bir hata.

Yineleme bir geri yükleme

Geri alma geri yükleme etkilerini mümkün değildir; ancak, veri kopyalama etkilerini negate ve her dosya için ayrı ayrı üzerinden başlatarak ileri sarmak.Baştan başlamak için istediğiniz dosyayı geri yükleme ve ileri sarmak yeniden gerçekleştirin.Örneğin, yanlışlıkla çok günlüğü yedeklerini geri ve nokta durdurma, tasarlanan overshot, sıra yeniden etmesi gerekir.

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

Tam metin veri geri yükleme

Tam metin veri ile birlikte diğer veritabanı verilerini tam geri yükleme sırasında geri yüklenir.Normal kullanmaRESTORE DATABASE database_name FROM backup_devicesözdizimi, tam metin dosyaları, veritabanı dosyası geri yükleme. parçası olarak geri

RESTORE deyim, diğer konuma geri yükleme, fark geri yükler, dosya ve dosya grubu geri yükler ve tam metin veri farklı dosya ve dosya grubu geri gerçekleştirmek için de kullanılabilir.Buna ek olarak, tam-metin dosyalarını yalnızca, veritabanı verileriyle gibi iyi geri yükleme geri yükleme yükleyebilirsiniz.

Not

Tarafından alınan tam-metin kataloglarıSQL Server 2005orSQL Server 2000yine de kabul veritabanı dosyaları.Bunlar içinSQL Server 2005tam metin katalogları yedek yordamı geçerli kalır, ancak duraklatma ve sürdürme yedek işlemi sırasında olduğunuzdan artık gerekli.Daha fazla bilgi için bkz:Yedekleme ve geri yükleme tam metin katalogları , SQL Server 2005Online defterleri.

Veritabanı ayarları ve geri yükleme

Geri yükleme sırasında çoğu veritabanı seçenekleri ALTER DATABASE kullanılarak ayarlanabilir yedek son anda zorla değerleri için sıfırlanır.

Not

Bu davranış farklı sürümlerindekiSQL ServerönceSQL Server 2000.

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

yedek ve geri yükleme geçmiş tablolar

SQL Server yedek izlemek ve her sunucu için faaliyet geri yedek ve geri yükleme geçmişini tabloları içerir.Geri yükleme işlemi, yedek geçmiş tabloları da değiştirilir.Bu tabloları hakkında bilgi için bkz:Yedekler hakkında bilgileri görüntüleme.

GÜNLÜK GERİ YÜKLEME

geri yükleme LOG dosyalarının oluşturulması sırasında ileri sarmak için izin vermek için dosya listesi içerir.Bu, günlük yedeği veritabanı için bir dosya eklendiğinde yazılan günlük kayıtlarını içerdiğinde kullanılır.

Not

Tam ya da yığın-günlüklenen kurtarma modeli kullanarak bir veritabanı için çoğu durumda, günlük kuyruğu veritabanı geri yüklemeden önce yedeklemeniz gerekir.Günlüğü kuyruğunu yedek veritabanı geri yükleme yükleme sonuçlar hata, geri yükleme DATABASE deyim ILE DEĞIŞTIR'i veya bir saat ya da veri yedek sonunda oluştu işlem belirtmelisiniz STOPAT, WITH yan tümce içermiyorsa.Kuyruk günlük yedeklemeler hakkında daha fazla bilgi için bkz: Kuyruk günlüğü yedekleri.

Çevrimiçi geri yükleme

Not

Yalnızca çevrimiçi geri yükleme verilirSQL Server 2005 Enterprise Editionve sonraki sürümleri.

Burada çevrimiçi geri desteklenir, veritabanının çevrimiçi olduğundan, dosya geri yükler ve sayfa geri olan otomatik olarak çevrimiçi geri yükler ve ayrıca yükler, ikincil dosya grubu sonra ilk aşamayı parçalı geri yükleme.

Not

Çevrimiçi geri yüklemeler ilgiliertelenen hareketleri.

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

Parçalı geri yükleme

Piecemeal restore, which was new in SQL Server 2005, enhances Microsoft SQL Server 2000 partial restore.parçalı geri yükleme ilk, kısmi geri yükleme, birincil ve ikincil dosya gruplarını bazıları sonra geri yüklenecek dosya grupları sağlar.Yüklenmez Filegroups çevrimdışı olarak işaretlenir ve erişilebilir değil.Çevrimdışı dosya gruplarını, ancak daha sonra dosya geri yüklemesi tarafından geri yüklenebilir.Tüm veritabanı aşamalarında farklı zamanlarda geri vermek parçalı geri yükleme veritabanı içinde son tutarlı olmasını sağlamak için denetimi sağlamak.

Not

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

Herhangi bir kısmi bir geri yükleme sırası tutuyorsa filestream dosya grubu, saat noktasına geri yükleme desteklenmiyor.Devam etmek için geri yükleme sırası zorlayabilir.Ancak, geri yükleme ifadesini göz ardı edilir FILESTREAM dosya grupları hiçbir zaman geri yükleme yüklenebilir.saat içinde alınmı geri yükleme istemek için CONTINUE_AFTER_ERROR seçeneği ile birlikte izleyen geri yükleme LOG deyimlerinde de belirtmeniz gerekir STOPAT, STOPATMARK veya STOPBEFOREMARK seçeneğini belirleyin.CONTINUE_AFTER_ERROR belirtirseniz, kısmi bir geri yükleme sırası başarılı ve dosya grubu FILESTREAM kurtarılamaz duruma gelir.

Daha fazla bilgi için piecemeal geri yükleme yüklemek için bkz:Parçalı geri yüklemeler gerçekleştirme.

Bir veritabanına geri bir veritabanı anlık görüntü görüntü görüntü

Averitabanı işlemi geri alma (belirtilen DATABASE_SNAPSHOT seçeneğini kullanarak) geçen tam kaynak veritabanı geri saat içinde bir veritabanını anlık görüntü görüntü görüntüsünün saat dönüştürme, diğer bir deyişle, kaynak veritabanı veri noktasından belirtilen veritabanı anlık görüntü görüntü görüntü görüntüsü. tutulan saat üzerine Yalnızca geri anlık görüntü görüntü şu anda bulunabilir.Geri döndürme işlemi daha sonra günlüğü oluşturur (Bu nedenle, daha sonra İleri dönüştürülen veritabanını kullanıcı hata noktasına geri olamaz).

Veri kaybı güncelleştirmeleri veritabanına anlık görüntü görüntü görüntüsünü kullanıcının oluşturma işleminden sonra sınırlandırılan.Dönüştürülen bir veritabanının meta verileri meta veriler anlık görüntü oluşturma saat aynıdır.Ancak, bir anlık görüntü için geri alma tam-metin katalogları bırakır.

Geri gelen bir veritabanı anlık görüntü görüntü görüntü ortam kurtarma için tasarlanmamıştır.Normal yedek, veritabanı anlık görüntü veritabanı dosyalarının tam bir kopyasını kümesidir.Veritabanı veya veritabanı anlık görüntüsü görüntüsü görüntüsü bozuksa, bir anlık görüntü dönüştürme olanaksız olması olasıdır.Ayrıca, hatta mümkün olduğunda, bozulması durumunda geri sorunu düzeltmek düşüktür.

Geri alma kısıtlamaları

Aşağıdaki durumlarda geri alma desteklenmiyor:

  • kaynak veritabanı salt okunur veya sıkıştırılmış bir dosya gruplarını içerir.

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

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

Daha fazla bilgi için bkz: Bir veritabanı anlık görüntü görüntü görüntü görüntüsü görüntüsü olarak diske geri çevirme.

İzinler

geri yükleme yüklenen veritabanı yoksa, kullanıcı, CREATE DATABASE, geri yükleme çalıştırmak için izniniz olması gerekir.Veritabanı varsa, geri yükleme yükle izinleri üyeleri için varsayılan olarakSistem Yöneticisidbcreator sabit ve sunucu rollerini ve veritabanının sahibi ( dbo ) var (DATABASE_SNAPSHOT FROM seçenek, veritabanını her zaman için).

geri yükleme hangi üyelik bilgidir her zaman kullanılabilir sunucu rolleri için izin verilmiştir.Sabit veritabanı rolünün üyesi, yalnızca veritabanı erişilebilir olduğunda ve bozuk olduğunda denetlenebilir, hangi değildir, çünkü her zaman büyük/küçük geri yükleme yürütüldüğünde, üyeleri,db_owner geri yükleme yükle izinleri. sabit veritabanı rolü yoktur

Yedekleme işlemini isteğe bağlı olarak bir ortam parolalarını belirtebilir küme, yedekleme küme, veya her ikisini de.Parola bir ortamda, tanımlanmış küme veya yedek küme, geri yükleme deyiminde doğru parola veya parola belirtmeniz gerekir.Bu parolalar, yetkisiz geri yükleme işlemlerini önlemek ve yetkisiz Ortamı'nı kullanarak yedek kümeleri ekler. SQL Server Araçlar. Ancak, parola korumalı ortam yedek deyim'nın FORMAT seçeneği tarafından üzerine yazılabilir.

Security noteSecurity Note:

Bu parola sağlanan koruma zayıftır.Yanlış bir geri yükleme kullanarak engellemeye yöneliktir SQL Server yetkili veya yetkisiz kullanıcılar tarafından araçları sağlar. Bu yedek veri okuma başka araçlar veya parola değiştirme engellemez.This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Yedekleri korumak için en iyi yöntem yedeklemek teyplerini yeterli erişim denetim listeleri (ACL) tarafından korunan disk dosyaları güvenli bir yerde veya saklamaktır.ACL'leri altında yedekleri oluşturulur dizinin kökte ayarlamalısınız.

Örnekler

Not

The AdventureWorks database is shown for illustration.AdventureWorks is one of the sample databases in SQL Server.Adventure Works Cycles is a fictional manufacturing company used to demonstrate database concepts and scenarios. Bu veritabanı hakkında daha fazla bilgi için bkz: AdventureWorks örnek veritabanları.

Tüm örnekler, kabul veritabanının tam yedek gerçekleştirildi.

geri yükleme örnekler aşağıdakileri içerir:

  • C.Tam veritabanı geri yükleme

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

  • c.RESTART sözdizimini kullanarak bir veritabanını geri yüklemek

  • d.Bir veritabanı ve hareket dosyaları geri yükleme

  • e.YEDEKLE ve geri yükleme yükle kullanılarak veritabanı kopyalama

  • f.Bir nokta-in-saat için geri STOPAT kullanma

  • g.İşlem günlüğü işareti için geri yükleme

  • h.TAPE sözdizimini kullanarak geri yükleme

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

  • j.veritabanı anlık görüntü görüntü görüntü görüntüsü dönüştürme

C.Tam veritabanı geri yükleme

Aşağıdaki örnek, bir tam veritabanını yedekten geri yüklerAdventureWorksBackupsmantıksal yedek aygıtı.Bu aygıtı oluşturma örneği için bkz:yedek aygıtları.

RESTORE DATABASE AdventureWorks 
   FROM AdventureWorksBackups

Not

Bir veritabanı için tam veya toplu günlük kurtarma modeli kullanarak SQL Server veritabanını geri yüklemeden önce günlüğü kuyruğunu yedeklemek, çoğu durumda gerektirir. Daha fazla bilgi için bkz: Kuyruk günlüğü yedekleri.

[Örnekler üstünde]

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

Aşağıdaki örnek, farklı bir yedekten ardından tam veritabanı yedeği geri yüklerZ:\SQLServerBackups\AdventureWorks.bakyedek aygıtı içeren iki yedekler.Tam veritabanı yedeğinin geri yüklenmesi altıncı yedek olarak devreye küme aygıtta ( FILE = 6), ve farklı veritabanı yedeğinin dokuzuncu yedek küme aygıtta ( FILE = 9).Fark hemen yedek ise kurtarıldı, veritabanı kurtarıldı.

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

[Örnekler üstünde]

c.RESTART sözdizimini kullanarak bir veritabanını geri yüklemek

Aşağıdaki örnekRESTARTyeniden başlatma seçeneği birRESTOREişlem kesintiye tarafından bir güç kesintisi.

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

[Örnekler üstünde]

d.Bir veritabanı ve hareket dosyaları geri yükleme

Aşağıdaki örnek, veritabanı ve hareket günlüğünün geri yükler ve geri yüklenen veritabanı ile hareketC:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Datadizin.

RESTORE DATABASE AdventureWorks
   FROM AdventureWorksBackups
   WITH NORECOVERY, 
      MOVE 'AdventureWorks_Data' TO 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf', 
      MOVE 'AdventureWorks_Log' 
TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf'
RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH RECOVERY

[Örnekler üstünde]

e.YEDEKLE ve geri yükleme yükle kullanılarak veritabanı kopyalama

Aşağıdaki örnek, her ikisini de kullanırBACKUPveRESTOREbir kopyasını oluşturmak için ifadeleriAdventureWorksveritabanı.The MOVE statement causes the data and log file to be restored to the specified locations.The RESTORE FILELISTONLY statement is used to determine the number and names of the files in the database being restored.Veritabanının yeni bir kopyasını adlıTestDB.Daha fazla bilgi için bkz: geri yükleme FILELISTONLY (Transact-SQL).

BACKUP DATABASE AdventureWorks 
   TO AdventureWorksBackups ;

RESTORE FILELISTONLY 
   FROM AdventureWorksBackups ;

RESTORE DATABASE TestDB 
   FROM AdventureWorksBackups 
   WITH MOVE 'AdventureWorks_Data' TO 'C:\MySQLServer\testdb.mdf',
   MOVE 'AdventureWorks_Log' TO 'C:\MySQLServer\testdb.ldf';
GO

[Örnekler üstünde]

f.Bir nokta-in-saat için geri STOPAT kullanma

Aşağıdaki örnek bir veritabanı olarak durumuna geri yükler12:00 AMonApril 15, 2020ve bir geri yükleme işlemi, ilgili birden çok günlük yedeklemeler.Yedekleme aygıtındakiAdventureWorksBackups, tam veritabanı yedeğinin geri yüklenmesi üçüncü yedek olarak devreye küme aygıtta ( FILE = 3), ilk günlük yedeği dördüncü yedek olarak devreye küme ( FILE = 4), ve ikinci günlük yedeği beşinci yedek küme ( FILE = 5).

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; 

[Örnekler üstünde]

g.İşlem günlüğü işareti için geri yükleme

Aşağıdaki örnek işlem günlüğü adlı işaretli hareket işaretine geri yüklerListPriceUpdate.

USE AdventureWorks
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 AdventureWorks
FROM AdventureWorksBackups
WITH FILE = 3, NORECOVERY;
GO

RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups 
   WITH FILE = 4,
   RECOVERY, 
   STOPATMARK = 'ListPriceUpdate';

[Örnekler üstünde]

h.TAPE sözdizimini kullanarak geri yükleme

Aşağıdaki örnek, bir tam veritabanını yedekten geri yükler birTAPEyedek aygıtı.

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

[Örnekler üstünde]

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

Aşağıdaki örnek adında bir veritabanını geri yüklerMyDatabasebir ikincil dosya grubu ve bir işlem günlüğünü iki dosya varVeritabanı tam kurtarma modeli kullanır.

Dokuzuncu yedek veritabanı yedeğinin olduğundan küme ortam içinde küme adlı mantıksal bir yedekleme aygıtı,MyDatabaseBackups.Sonra sonraki üç yedek kümeleri yedeklemeler, üç oturum ( 10, 11, ve 12),MyDatabaseBackupsaygıtı kullanarak geriWITH NORECOVERY.Son günlüğü yedeklemesinden geri yükledikten sonra veritabanını kurtarılır.

Not

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

,RESTORE DATABASEiki tür bildirimFILEseçenekleri.The FILE options preceding the backup device name specify the logical file names of the database files that are to be restored from the backup set; for example, FILE = 'MyDatabase_data_1'.Bu yedek küme ilk veritabanı yedekleme ortamı olarak değil küme; bu nedenle, konumunu, medya küme kullanarak belirtilenFILEseçeneği,WITHyan tümceFILE=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 üstünde]

j.veritabanı anlık görüntü görüntü görüntü görüntüsü dönüştürme

Aşağıdaki örnek, bir veritabanına geri döner bir veritabanı anlık görüntü görüntü görüntü.Örnek veritabanı, yalnızca bir anlık görüntü şimdilik kabul eder.Bu veritabanını anlık görüntü oluşturmak bir örnek için bkz:Nasıl Yapılır: Bir veritabanı anında (Transact-SQL) oluşturma.

Not

Anlık görüntü için Reverting düşünceye tüm tam metin katalogları.

USE master  
RESTORE DATABASE AdventureWorks FROM DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO

Daha fazla bilgi için bkz: Bir veritabanı anlık görüntü görüntü görüntü görüntüsü görüntüsü olarak diske geri çevirme.

[Örnekler üstünde]