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.
--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:
tam veritabanı geri yükleme yüklemesi yüklemesi
Farklı veritabanı yedeği (ve günlüğü yedekleri) geri yükleme tarafından izlenen bir veritabanının tam yedek başlayan tüm veritabanını geri yükler.Daha fazla bilgi için bkz: tam veritabanı geri yükleme yüklemesi yüklemesi (Basit kurtarma modeli) gerçekleştirme veya tam veritabanı geri yükleme yüklemesi yüklemesi (Tam kurtarma modeli) gerçekleştirme.
dosya geri yüklemesi
Bir dosya ya da birden çok dosya grubu veritabanındaki dosya grubunu geri yükler.Not Basit kurtarma modeli altında salt okunur dosya grubu için dosyaya ait olması gerekir.Tam dosya geri yüklemesi, farklı dosya yedeği geri yüklenebilir.Daha fazla bilgi için bkz: Dosya işlemi (Tam kurtarma modeli) yükler... ve Dosya işlemi (Basit kurtarma modeli) yükler....
sayfa geri yükleme yüklemesi yüklemesi
Tek tek sayfalara geri yükler.sayfa geri yükleme yüklemesi yüklemesi, yalnızca tam ve yığın-günlüklenen kurtarma modeli altında kullanılabilir.Daha fazla bilgi için bkz: Sayfa gerçekleştirme geri yükler..
Parçalı geri yükleme
Aşamaları, birincil dosya grubu bir veya daha fazla ikincil dosya grupları ile başlayarak, veritabanını yükler.parçalı geri yükleme bir RESTORE PARTIAL seçeneği kullanılarak ve belirleyen bir veya daha fazla ikincil dosya gruplarını geri DATABASE ile başlar.Daha fazla bilgi için bkz: Parçalı geri yüklemeler gerçekleştirme.
Yalnızca Kurtarma
Zaten veritabanı ile uyumlu olduğunu ve yalnızca kullanılabilir olması verileri kurtarır.Daha fazla bilgi için bkz: Bir veritabanı, veri geri olmadan kurtarma.
Hareket günlük geri yükleme.
Tam ya da yığın-günlüklenen kurtarma modeli altında günlüğü yedekleri geri yüklemek istediğiniz kurtarma noktası erişmek için gereklidir.Günlük yedekleme, geri yükleme hakkında daha fazla bilgi için bkz:Işlem günlüğü yedekleri uygulama.
Yansıtma veritabanı oluşturun.
Daha fazla bilgi için bkz: Nasıl Yapılır: yansıtma veritabanı (Transact-SQL) yansıtma için hazırlama.
Oluşturun ve bir hazır bekleyen sunucu güncelleştirin.Beklemedeki sunucular, daha fazla bilgi için bkz:yarı etkin bekleyen Sunucuları kullanma.
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.
![]() |
---|
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
Not
Diğer örnekler için bkz:Geri yükleme sýra için birkaç örnekleri, geri yükleme senaryolarıve ayrıca geri yükleme nasıl yapılır konuları listelenenMetatabanını yedekleme ve nasıl yapılır konuları (Transact-SQL) geri yükleme.
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]
See Also