Aracılığıyla paylaş


Nasıl Yapılır: yansıtma veritabanı (Transact-SQL) yansıtma için hazırlama

veritabanı yansıtması, veritabanı oturum yansıtma başlamadan önce varolmalıdır.yansıtma veritabanı adını, asıl veritabanının adı ile aynı olmalıdır.yansıtma veritabanı veritabanı sahibi veya sistem yöneticiniz son tam oluşturabilirsiniz yedek asıl veritabanın ve en az bir sonraki günlük yedek.Iş yansıtma için yansıtma veritabanı RESTORING durumda kalması gerekir.Bu nedenle, geri bir yedek yansıtmayı veritabanına her zaman WITH NORECOVERY'YI her geri yükleme işlemi için kullanmanız gerekir.

Yansıtma kaldırılmıştır ve yansıtma veritabanı yine de RECOVERING durumunda, yansıtmayı yeniden başlatabilirsiniz.Ancak, ilk olarak en az bir günlük yedeği asıl veritabanı alınması gerekir.Sonra yansıtma veritabanı üzerinde WITH NORECOVERY'YI yansıtma kaldırıldı bu yana, asıl veritabanı üzerinde gerçekleştirilen tüm günlüğü yedekleri geri yükleme yüklemelisiniz.

Not

Yansıtamazsınız, Yönetici, msdb, Geçici, or modeli sistem veritabanları.

Yordam

veritabanı yansıtması için bir veritabanı oluşturmak için

  1. Make sure that both the principal and mirror server instances have Microsoft SQL Server 2008 installed.

  2. Veritabanının Tam kurtarma modeli kullandığını doğrulayın.

    Daha fazla bilgi için bkz: Nasıl Yapılır: Görüntülemek veya kurtarma modeli, bir veritabanı (SQL Server Management Studio'yu) değiştirme veya sys.Databases (Transact-SQL) ve ALTER DATABASE Transact-SQL).

  3. Tam veritabanı geri asıl veritabanına yukarı yedek.

    Daha fazla bilgi için bkz: Nasıl Yapılır: Bir veritabanı (SQL Server Management Studio'yu) yedekleyin. veya Nasıl Yapılır: Tam bir veritabanı yedek (Transact-SQL) oluşturma.

    Not

    Alternatif olarak, varolan bir veritabanının tam yedeklemesi ve isteğe bağlı olarak, farklı bir veritabanı yedeği geri yükleme yükleyebileceğiniz her izleyen günlük yedek izler.

  4. yansıtma veritabanı oluşturmak için planlama sistemi, veritabanını saklamak için yeterli alan içeren bir disk sürücüsüne sahip olmasına dikkat edin.

  5. yedek, her iki sistemlerden erişilebilir bir ağ sürücüsündeki olmadıkça, veritabanı yedeğinin o sisteme kopyalayın.

  6. yansıtma veritabanı oluşturmak için , tam veritabanı yedeğinin yansıtmayı sunucuyu üzerine geri yükleme yükleyin.VERITABANıNı geri yükleme yükle veritabanı_adı deyim NORECOVERY'YI, WITH belirtmelisiniz; burada veritabanı_adı yansıtılması için veritabanının adıdır.

    Not

    Dosya grubu tarafından veritabanı dosya grubunu geri yükleme, tüm veritabanını geri yükleme yüklemeye dikkat edin.

    Ayrıca, olanaklıysa önerilir, yol (sürücü harfi dahil) yansıtma veritabanını aynı yol asıl veritabanının.

    Dosya düzenlerden gerekir farklıysa, asıl veritabanı açıksa, 'F:' sürücü Ancak bir F: yansıtmayı sistem eksik Sürücü, geri yükleme DEYIMINDE MOVE seçeneğini eklemeniz gerekir.

    Important noteImportant Note:

    Oturum etkilemesini olmadan, bir yansıtma oturumu sırasında dosya ekleme dosyasının yol, hem sunucularda varolduğunu gerektirir.Bu nedenle, yansıtma veritabanı oluştururken, veritabanı dosyaları taşırsanız, daha yeni bir dosya ekleme işlemi yansıtmayı veritabanında başarısız ve askıya alınmış yansıtmayı neden.Başarısız oluştur-dosya işlemi postalarla hakkında daha fazla bilgi için bkz: Veritabanı Deployment yansıtma sorun giderme.

    Daha fazla bilgi için bkz: geri yükleme (Transact-SQL) ve Bağımsız değişkenleri (Transact-SQL) geri yükleme.

  7. Genellikle, en az bir günlük yedek gerekir asıl veritabanı üzerinde gerçekleştirilen, yansıtma sunucusu kopyalanır ve (WITH NORECOVERY'YI kullanarak) yansıtma veritabanı geri yükledi.Ancak, bir günlük yedek veritabanını yalnızca oluşturduysanız, gereksiz olabilir ve hiçbir günlük yedek henüz alındı veya kurtarma modeli yalnızca SIMPLE FULL için değiştirildi.

    Günlük uygulamak yedek yansıtmayı veritabanına yansıtmayı sunucuda kullanabilirsiniz SQL Server veya Transact-SQL:

  8. Bu yana gerekli günlük ek günlük yedek s asıl veritabanı üzerinde gerçekleştirilen, yedek, ayrıca bunlar Yansıtmayı sunucuya kopyalamak ve en erken ile başlayan ve her zaman WITH NORECOVERY'YI kullanarak her biri, bu günlük yedek s yansıtmayı veritabanına uygulanan gerekir.

Security noteSecurity Note:

Bir veritabanını yedeklediğiniz TRUSTWORTHY'DIR KAPALı küme.Bu nedenle, TRUSTWORTHY'DIR her zaman KAPALı'üzerinde yeni bir dır yansıtma veritabanı.Veritabanı yerine çalışma güvenilir gerekiyorsa, ek kurulum adımları gereklidir.Daha fazla bilgi için bkz:Nasıl Yapılır: Güvenilir özelliğinin kullanılması bir yansıtma veritabanı küme.

Important noteImportant Note:

veritabanı yansıtması durdurulmuşsa, asıl veritabanı üzerinde gerçekleştirilen tüm izleyen günlük yedeklemeler yansıtmayı yeniden önce yansıtmayı veritabanına uygulanmalıdır.

Example

Bir veritabanı, oturum yansıtma başlamadan önce veritabanı yansıtması oluşturmanız gerekir.Yansıtma oturumunu başlatmadan önce yapmalısınız.

Bu örnek kullanır AdventureWorks Örnek veritabanı Basit kurtarma modeli, varsayılan olarak kullanır.

  1. Ile veritabanı yansıtması için kullanılacak AdventureWorks Veritabanı, Tam kurtarma modeli kullanacak şekilde değiştirin:

    USE master;
    GO
    ALTER DATABASE AdventureWorks 
    SET RECOVERY FULL;
    GO
    
  2. Kurtarma modeli, SIMPLE veritabanına FULL değiştirdikten sonra oluşturma bir tam yedek, yansıtma veritabanı oluşturmak için kullanılabilecek.Kurtarma modeli, yalnızca olarak değiştirilmiş olduğundan, yeni bir ortam oluşturmak için WITH FORMAT seçeneği belirtilmedi.Basit kurtarma modeli altında yapılan herhangi bir önceki yedek yedekler tam kurtarma modeli altında ayırmak yararlıdır.Bu örnek amacıyla, yedek dosyası)C:\AdventureWorks.bak) aynı sürücüdeki veritabanı olarak oluşturulur.

    Not

    Bir üretim veritabanı için her zaman için ayrı bir aygıt yedeklemelisiniz.

    (Asıl sunucu örnek üzerinde PARTNERHOST1), oluşturma bir tam yedek patron gibi veritabanı:

    BACKUP DATABASE AdventureWorks 
        TO DISK = 'C:\AdventureWorks.bak' 
        WITH FORMAT
    GO
    
  3. Tam yedek yansıtma sunucusu kopyalayın.

  4. Tam yedek WITH NORECOVERY'YI yansıtma sunucusu geri yükleme örnek.Ana para ve yansıtma veritabanlarının yollar aynı olup geri yükleme komutu bağlıdır.

    • Yolları özdeşse:

      Üzerinde (yansıtma sunucusu örnek PARTNERHOST5), tam olarak geri yükleme yedek aşağıdaki gibi:

      RESTORE DATABASE AdventureWorks 
          FROM DISK = 'C:\AdventureWorks.bak' 
          WITH NORECOVERY
      GO
      
    • Yolları farklıysa:

      yansıtma veritabanı yolunu yoldan farklı ise asıl veritabanı (örneğin, sürücü harflerinin farklı) yansıtma veritabanı oluşturma, geri yükleme işlemi bir MOVE yan tümce eklemenizi gerektirir.

      Important noteImportant Note:

      Yol adları ana para ve yansıtma veritabanlarının farklı bir dosya ekleyemez.Dosya ekleme işlemi için günlüğe alma üzerinde yansıtma sunucusu örnek asıl veritabanı tarafından kullanılan bir konumda yeni bir dosya koymak nedeni budur.

      Örneğin, aşağıdaki komut, C:\Program Files\Microsoft SQL Server\MSSQL içinde bulunan bir asıl veritabanının yedeğini geri yükler. n\MSSQL\Data\ ' D:\Program Files\Microsoft SQL Server\MSSQL farklı bir konuma.n\MSSQL\Data\, yansıtma veritabanı bulunduğu yerde.

      RESTORE DATABASE AdventureWorks
         FROM DISK='C:\AdventureWorks.bak'
         WITH NORECOVERY, 
            MOVE 'AdventureWorks_Data' TO 
               'D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\AdventureWorks_Data.mdf', 
            MOVE 'AdventureWorks_Log' TO
               'D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\AdventureWorks_Log.ldf';
      GO
      
  5. tam yedek oluşturduktan sonra asıl veritabanı günlük yedek oluşturmanız gerekir.Örneğin, aşağıdaki Transact-SQL Deyim, önceki tam yedek tarafından kullanılan aynı dosyaya kadar günlük yedekler:

    BACKUP LOG AdventureWorks 
        TO DISK = 'C:\AdventureWorks.bak' 
    GO
    
  6. Yansıtma başlamadan önce gerekli günlük yedeği (ve herhangi bir sonraki günlük yedeklemeler) uygulamalısınız.

    Örneğin, aşağıdaki Transact-SQL deyim gelen ilk günlüğe geri yükler. C:\AdventureWorks.bak:

    RESTORE LOG AdventureWorks 
        FROM DISK = 'C:\AdventureWorks.bak' 
        WITH FILE=1, NORECOVERY
    GO
    
  7. Yansıtma başlamadan önce herhangi bir ek günlüğü yedekleri oluşursa, ayrıca tüm bu günlük yedeklemeler, sıradaki WITH NORECOVERY'YI kullanarak yansıtma sunucusu geri yükleme yüklemelisiniz.

    Örneğin, aşağıdaki Transact-SQL deyim iki ek günlüklerden geri yükler. C:\AdventureWorks.bak:

    RESTORE LOG AdventureWorks 
        FROM DISK = 'C:\AdventureWorks.bak' 
        WITH FILE=2, NORECOVERY
    GO
    RESTORE LOG AdventureWorks 
        FROM DISK = 'C:\AdventureWorks.bak' 
        WITH FILE=3, NORECOVERY
    GO
    

Ayarıveritabanı yansıtması oluşturan tam bir örnek için bkz: güvenlik kurulumu gösteren, veritabanı yansıtması hazırlama, ortaklarına ayarlama ve bir şahit, ekleme veritabanı yansıtması Kur ayarlama.