Aracılığıyla paylaş


Bir veritabanı (SQL Server) yeni bir konuma geri yükleyin.

Bu konuda nasıl geri yükleneceği açıklanır bir SQL Serveryeni bir konuma veritabanı ve isteğe bağlı olarak veritabanı içinde yeniden adlandırma SQL Server 2012kullanarak SQL Server Management Studioya Transact-SQL. Bir veritabanı için yeni bir dizin yolu taşıyabilir veya aynı sunucu örneği veya farklı sunucu örneği üzerinde bir veritabanının bir kopyasını oluşturun.

Bu Konuda

  • Başlamadan Önce

    Sınırlamalar ve Kısıtlamalar

    Ön Koşullar

    Öneriler

    Güvenlik

  • Bir veritabanını yeni bir konuma geri yüklemek ve isteğe bağlı olarak veritabanı yeniden adlandırmak için kullanma:

    SQL Server Management Studio

    Transact-SQL

  • ilişkili Görevler

Başlamadan Önce

Sınırlamalar ve Kısıtlamalar

  • Şu anda geri yüklenecek veritabanı kullanan tek kişi tam veritabanı yedeği geri yükleme sistem yöneticisi olmanız gerekir.

Ön Koşullar

Öneriler

  • Şifrelenmiş bir veritabanını geri yüklemek için, veritabanını şifrelemek için kullanılan sertifikaya veya asimetrik anahtara erişiminiz olması gerekir. Sertifika veya asimetrik anahtar olmadan veritabanı geri yüklenemez. Bunun sonucunda, veritabanı şifreleme anahtarını şifrelemek için kullanılan sertifikanın, yedek gerekli olduğu sürece tutulması gerekir. Daha fazla bilgi için, bkz. sql sunucu sertifikaları ve asimetrik anahtarları.

  • Bir veritabanını taşımak için ek konuları hakkında daha fazla bilgi için bkz: Veritabanlarını yedekleme ve geri yükleme ile kopyalama.

  • Eğer geri bir SQL Server 2005veya SQL Server 2008veritabanı SQL Server 2012, veritabanı otomatik olarak yükseltilir. Normal olarak veritabanı hemen kullanılabilir durumda olur. Ancak, bir SQL Server 2005 veritabanının tam metin dizinleri varsa, yükseltme işlemi bunları, upgrade_option sunucu özelliğine bağlı olarak alır, sıfırlar veya yeniden oluşturur. Yükseltme seçeneği almaya (upgrade_option = 2) veya yeniden oluşturmaya (upgrade_option = 0) ayarlıysa, yükseltme sırasında tam metin dizinleri kullanılamaz. Dizinlenen veri miktarına bağlı olarak alma birkaç saat ve yeniden oluşturma bunun on katına kadar süre alabilir. Ayrıca, yükseltme seçeneği almaya ayarlıysa, tam metin kataloğu kullanılamadığında ilişkili tam metin dizinleri yeniden oluşturulur. Ayarı değiştirmek için upgrade_optionsunucu özelliği, kullanım sp_fulltext_service.

Güvenlik

Güvenlik amacıyla, sen değil eklemek veya bilinmeyen veya güvenilmeyen kaynaklardan gelen veritabanlarını geri öneririz. Bu tür veritabanlarının idam kötü amaçlı kod içerebilir istenmeyen Transact-SQLkod veya şema veya fiziksel veritabanı yapısını değiştirerek hatalara neden. Bilinmeyen veya güvenilmeyen kaynağından veritabanı kullanmadan önce çalıştırmak dbcc checkdb bir benzerini sunucuda veritabanı ve saklı yordamlar veya veritabanındaki diğer kullanıcı tanımlı kod gibi bir kod da inceleyin.

İ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, geri yükleme izinleri üyeleri için varsayılan sysadmin ve dbcreator sabit sunucu rolleri ve sahibi (dbo) veritabanı.

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.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

SQL Server Management Studio Kullanarak

Bir veritabanını yeni bir konuma geri yüklemek ve isteğe bağlı olarak veritabanı yeniden adlandırmak için

  1. Uygun sunucuya bağlanın SQL Server Veritabanı Altyapısıve nesne Explorer'da sunucu ağacı sunucu adını tıklatın.

  2. Sağ veritabanlarıve'yi Restore Database. Restore Database iletişim kutusunu açar.

  3. 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.

    1. 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.

  4. İç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.

  5. İçinde geri kutusunda, varsayılan olarak bırakın çekilmiş en son yedeklemeden veya zaman çizelgesi erişim Yedek zaman çizelgesi el ile kurtarma eylemini durdurmak için zamanında bir noktasını seçmek için iletişim kutusu. Bkz: Yedekleme zaman çizelgesizaman içinde belirli bir noktasını belirleme konusunda daha fazla bilgi için.

  6. İçinde geri yüklemek için yedekleme kümelerini kılavuz, yedekleri geri yüklemek için seçin. Bu kılavuz, yedekleri için belirtilen konumda kullanılabilir görüntüler. Varsayılan olarak, bir kurtarma planı önerilir. Önerilen kurtarma planını geçersiz kılmak için kılavuz seçimleri değiştirebilirsiniz. Önceki yedekleme seçimi kaldırıldığında bir önceki yedekleme restorasyonu bağımlı Yedekleme otomatik olarak seçili.

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

  7. Veritabanı dosyalarının yeni bir konum belirtmek için seçin dosyalarını sayfasında ve tıklatın tüm dosyaları klasörüne taşınmaya. Yeni bir konum sağlamak klasörü veri dosyası ve günlük dosyası klasörü. Bu kılavuz hakkında daha fazla bilgi için bkz: (Dosyaları sayfa) veritabanını geri yükle.

  8. Tarih seçenekleri sayfasında, istediğiniz seçenekleri ayarlayın. Bu seçenekler hakkında daha fazla bilgi için bkz: (Seçenekler sayfa) veritabanını geri yükle.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Transact-SQL'i Kullanma

Bir veritabanını yeni bir konuma geri yüklemek ve isteğe bağlı olarak veritabanı yeniden adlandırmak için

  1. Isteğe bağlı olarak, fiziksel ve mantıksal adlarını içeren tam veritabanı yedeği geri yüklemek istediğiniz yedekleme kümesi dosyalarını belirleyin. Bu ifade veritabanı ve günlük dosyaları yedekleme kümesinde bulunan bir listesini döndürür. Temel sözdizimi aşağıdaki gibidir:

    restore FILELISTONLY from <backup_device>WITH FILE =backup_set_file_number

    Burada, backup_set_file_numberortam kümesi yedekleme konumunu gösterir. Yedekleme kümesi kullanarak konumunu elde edebilirsiniz restore headeronly deyimi. Daha fazla bilgi için bkz: "Belirten bir yedekleme kümesi" in restore değişkenlerini (Transact-sql).

    Bu ifade ayrıca seçenekleri destekler. Daha fazla bilgi için, bkz. restore FILELISTONLY (Transact-sql).

  2. Kullanım restore database deyimi tam veritabanı yedeği geri yüklemek için. Varsayılan olarak, veri ve günlük dosyaları özgün konumlarına geri yüklenir. Bir veritabanı konumlarını değiştirin için veritabanı dosyaları taşınmaya ve varolan dosyaları ile çakışmaları önlemek için Taşı seçeneğini kullanın.

    Temel Transact-SQLyeni bir konum ve yeni bir ad için veritabanı geri yükleme için sözdizimi aşağıdaki gibidir:

    VERİTABANINI GERİ YÜKLEMEnew_database_name

    FROM backup_device [ ,...n ]

    [İLE

       {

             Kurtarma | NORECOVERY]

       , [ FILE ={ backup_set_file_number | @backup\_set\_file\_number } ]

       , MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name',...n ]

       }

    ;

    [!NOT]

    Bir veritabanını farklı bir diskte taşınmaya hazırlanırken, yeterli alanı kullanılabilir ve herhangi bir olası çakışmaları ile varolan dosyaları tanımlamak doğrulamanız gerekir. Bu karıştırmak istimal a restore VERIFYONLY açıklamada, restore database deyimi kullanmayı planladığınız aynı hareket parametrelerini belirtir.

    Bir veritabanını yeni bir konuma geri yükleme açısından bu restore deyimi bağımsız değişkenleri aşağıdaki tabloda açıklanmaktadır. Bu değişkenleri hakkında daha fazla bilgi için bkz: RESTORE (Transact-SQL).

    • new_database_name
      Veritabanı için yeni bir ad.

      [!NOT]

      Farklı sunucu örneği için veritabanını geri yüklüyorsanız, özgün veritabanı adı yerine yeni bir ad kullanabilirsiniz.

    • backup_device [ ,...n ]
      Virgülle ayrılmış listesini 1 veritabanı yedeğinin geri yüklenmesi olduğu 64 yedekleme aygıtları belirtir. Fiziksel yedekleme aygıtı belirtebilir veya ilgili mantıksal bir yedekleme aygıtı, tanımlanan belirtebilirsiniz. Fiziksel bir yedekleme aygıtı belirtmek için, DISK veya TAPE seçeneğini kullanın:

      { DISK | TAPE } = physical_backup_device_name

      Daha fazla bilgi için, bkz. Yedekleme aygıtı (SQL Server).

    • { Kurtarma | NORECOVERY}
      Veritabanı tam kurtarma modeli kullanır, işlem günlüğü yedekleri veritabanını geri yükledikten sonra uygulamak gerekebilir. Bu durumda, norecovery seçeneğini belirtin.

      Aksi halde, varsayılan kurtarma seçeneğini kullanın.

    • FILE = { backup_set_file_number | @backup\_set\_file\_number }
      Geri yüklenecek yedek tanımlar. Örneğin, bir backup_set_file_number, 1 gösterir yedekleme ortamı ilk yedekleme ve bir backup_set_file_number, 2 ikinci yedekleme kümesini gösterir. Elde edebilirsiniz backup_set_file_numberkullanarak bir yedekleme restore headeronly deyimi.

      Bu seçenek belirlenmezse, varsayılan yedekleme aygıtı ilk yedekleme kullanmaktır.

      Daha fazla bilgi için bkz: "Belirten bir yedekleme kümesi" in restore değişkenlerini (Transact-sql).

    • MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' [ ,...n ]
      Veri veya günlük dosyası tarafından belirtilen belirtir logical_file_name_in_backuptarafından belirtilen konuma geri yüklenecek olan operating_system_file_name. Yeni bir konuma ayarlamak yedeği geri yüklemek istediğiniz her mantıksal dosya için bir taşı deyimi belirtin.

      Seçenek

      Açıklama

      logical_file_name_in_backup

      Yedekleme kümesinde mantıksal veri veya günlük dosyası adını belirtir. Yedekleme kümesi oluşturulduğunda veri veya günlük dosyası yedekleme kümesinde mantıksal dosya adı mantıksal adını veritabanında eşleşir.

      NotNot
      Yedekleme kümesinden mantıksal dosyaların bir listesini edinmek için restore FILELISTONLY.

      operating_system_file_name

      Belirtilen dosya için yeni bir konum belirtir logical_file_name_in_backup. Dosyayı bu konuma geri yüklenecektir.

      Isteğe bağlı olarak, operating_system_file_name geri yüklenen dosya için yeni bir dosya adı belirtir. Aynı sunucu örneği varolan bir veritabanının bir kopyasını oluşturuyorsanız, bu gereklidir.

      n

      Ek move deyimleri belirtebilirsiniz gösteren bir yer tutucu.

Örnek (Transact-sql)

Bu örnek, adlı yeni bir veritabanı oluşturur MyAdvWorksyedeğini geri AdventureWorks2012 iki dosya içeren örnek veritabanı: AdventureWorks2012 _Data ve AdventureWorks2012 _Log. Bu veritabanı Basit kurtarma modelini kullanır. AdventureWorks2012 Veritabanı zaten sunucu örneği, yedekleme dosyaları yeni bir konuma geri gerekir bu yüzden. restore FILELISTONLY deyimini sayısı ve geri yüklenen veritabanı dosyalarının adlarını belirlemek için kullanılır. Veritabanı yedekleme, yedekleme aygıtı ilk yedekleme olur.

[!NOT]

Yedekleme ve geri yükleme noktası zamanında geri yükleme dahil olmak üzere işlem günlüğü örnekler kullanmak MyAdvWorks_FullRMdan oluşturulan veritabanı AdventureWorks2012 sadece aşağıdaki gibi MyAdvWorksörnek. Ancak, sonuç MyAdvWorks_FullRMveritabanı aşağıdakileri kullanarak tam kurtarma modeli kullanmak için değiştirilmesi gerekir Transact-SQLdeyimi: alter database <veritabanı_adı > set kurtarma tam.

USE master;
GO
-- First determine the number and names of the files in the backup.
-- AdventureWorks2012_Backup is the name of the backup device.
RESTORE FILELISTONLY
   FROM AdventureWorks2012_Backup;
-- Restore the files for MyAdvWorks.
RESTORE DATABASE MyAdvWorks
   FROM AdventureWorks2012_Backup
   WITH RECOVERY,
   MOVE 'AdventureWorks2012_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf', 
   MOVE 'AdventureWorks2012_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf';
GO

Tam veritabanı yedeği oluşturmak nasıl bir örnek için AdventureWorks2012 veritabanı, bakın Tam Veritabanı Yedeği Oluşturma (SQL Server).

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

ilişkili Görevler

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Ayrıca bkz.

Başvuru

RESTORE (Transact-SQL)

Kavramlar

Bir veritabanı başka bir sunucu örneği (SQL Server) üzerinde kullanılabilir yapma olduğunda meta veri yönetme

Veritabanlarını yedekleme ve geri yükleme ile kopyalama