El ile bir ikincil veritabanı için bir kullanılabilirlik grubu (SQL Server) hazırlamak

Bu konuda bir AlwaysOn kullanılabilirlik grubunda bir ikincil veritabanı hazırlamak açıklar SQL Server 2012kullanarak SQL Server Management Studio, Transact-SQL, veya PowerShell. Ikincil bir veritabanı hazırlama, iki adım gerektirir: (1) birincil veritabanı ve sonraki son veritabanı yedekleme geri yükleme oturum restore WITH norecovery kullanarak ve (2) geri yüklenen veritabanı kullanılabilirlik grubuna katılma yedekleme ikincil çoğaltma barındıran her sunucu örneği oturum.

  • Başlamadan Önce  

    Önkoşullar ve kısıtlamalar

    Öneriler

    Güvenlik

  • Bir ikincil hazırlamak için veritabanınızı kullanma:  

    SQL Server Management Studio

    Transact-SQL

    PowerShell

    İpucuİpucu

    Alternatif olarak, günlük sevkiyat ikincil veritabanları hazırlamak için kullanabilirsiniz. Daha fazla bilgi için, bkz. Log Shipping and AlwaysOn Availability Groups (SQL Server).

  • İlgili yedekleme ve geri yükleme görevleri

  • İzle:  Ikincil bir veritabanı hazırladıktan sonra

Başlamadan Önce

Önkoşullar ve kısıtlamalar

  • Sistem veritabanı yerleştirmek için planladığınız ikincil veritabanları için yeterli alanı olan bir disk sürücüsüne sahip olduğundan emin olun.

  • Ikincil veritabanı adını birincil veritabanı adı ile aynı olmalıdır.

  • norecovery ile geri her geri yükleme işlemi için kullanın.

  • İkincil veritabanı (sürücü harfi dahil) farklı bir dosya yol daha birincil veritabanı üzerinde bulunması gerekiyorsa, restore komutu da hareket seçeneği her veritabanı dosyaları için bunları ikincil veritabanı yolunu belirtmek için kullanmanız gerekir.

  • Veritabanı filegroup filegroup tarafından geri, tüm veritabanını geri yüklemek dikkat edin.

  • (norecovery ile) geri yüklemelisiniz veritabanını geri yükledikten sonra en son geri yüklenen verileri yedeklemeden sonra oluşturulan her bir günlük yedekleme.

Öneriler

  • Tek başına örnekleri üzerinde SQL Server, mümkünse, ikincil veritabanı dosyasının yolunu (sürücü harfi dahil) karşılık gelen birincil veritabanı yolu özdeş olmasını, öneririz. Ikincil bir veritabanı oluştururken veritabanı dosyalarını taşımak, bir sonraki Dosya Ekle işlemi ikincil veritabanı başarısız ve askıya için ikincil veritabanı neden olmasıdır.

  • İkincil veritabanlarını hazırlamadan önce ikincil kopyaları başlatılması tamamlayana kadar Zamanlanmış günlük yedeklemeler veritabanları kullanılabilirliğini grubunda askıya önemle önerilir.

Güvenlik

Bir veritabanı, sırada güvenilir veritabanı özelliğini off için ayarlanır. Bu nedenle, trustworthy her zaman yeni geri yüklenen veritabanı kapalı olur.

İzinler

backup database ve backup GNLK izinleri varsayılan üyeleri için sysadmin sabit sunucu rolü ve db_owner ve db_backupoperator veritabanı rolleri sabit. Daha fazla bilgi için, bkz. Yedekleme (Transact-sql).

Geri yüklenen veritabanı sunucu örneği yok restore deyimi veritabanı oluşturma izinleri gerekir. Daha fazla bilgi için, bkz. RESTORE (Transact-SQL).

SQL Server Management Studio Kullanarak

Ikincil bir veritabanı hazırlamak için

  1. Bir veritabanı yedek birincil veritabanı yoksa, yeni bir tam veya fark veritabanı yedeğini oluşturun. En iyi yöntem, bu yedekleme ve herhangi bir sonraki günlük yedeklemeler önerilen ağ paylaşımına koyun.

  2. En az bir yeni günlük birincil veritabanı yedeğini oluşturun.

  3. Sunucu örneği, herhangi bir sonraki günlük yedeklemeler tarafından ikincil çoğaltma, tam veritabanı birincil veritabanının yedeğini (ve isteğe bağlı olarak farklı yedekleme) takip geri barındırır.

    Tarih restore databaseseçenekleri page, select veritabanında çalışır durumda bırakmak ve kaydedilmemiş hareketleri geri değil. Ek işlem günlükleri geri yüklenebilir. (NORECOVERY İLE GERİ YÜKLEME).

    Birincil veritabanı ve ikincil veritabanı dosya yolları farklıysa, birincil veritabanı üzerinde ise, 'F' sürücü ama ikincil çoğaltma barındıran sunucu örneği f: sürücü yoksun, move seçeneği, WITH yan tümcesinde dahil.

  4. İkincil veritabanı yapılandırmasını tamamlamak için ikincil veritabanı kullanılabilirlik gruba katılması gerekir. Daha fazla bilgi için Ikincil bir veritabanı kullanılabilirlik grubuna (SQL Server) katılın.

[!NOT]

Bunlar gerçekleştirme hakkında bilgi için yedekleme ve geri yükleme işlemleri, bakın ilgili yedekleme ve geri yükleme görevlerini, bu bölümde daha sonra.

İlgili yedekleme ve geri yükleme görevleri

Veritabanı yedeği oluşturmak için

Bir günlük yedek oluşturmak için

Yedekleri geri yüklemek için

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

Transact-SQL'i Kullanma

Ikincil bir veritabanı hazırlamak için

[!NOT]

Bu yordamı örneği için bkz: örnek (Transact-sql), bu konuda daha önceki.

  1. Birincil veritabanının tam bir yedek yoksa, barındıran birincil yineleme ve tam veritabanı yedeklemesi oluşturma sunucusu örneğine bağlama. En iyi yöntem, bu yedekleme ve herhangi bir sonraki günlük yedeklemeler önerilen ağ paylaşımına koyun.

  2. Sunucu örneği, tüm izleyen günlük yedeklemeler tarafından ikincil çoğaltma, tam veritabanı birincil veritabanının yedeğini (ve isteğe bağlı olarak farklı yedekleme) takip geri barındırır. Kullanım WITH norecovery her geri yükleme işlemi için.

    Birincil veritabanı ve ikincil veritabanı dosya yolları farklıysa, birincil veritabanı üzerinde ise, 'F' sürücü ama ikincil çoğaltma barındıran sunucu örneği f: sürücü yoksun, move seçeneği, WITH yan tümcesinde dahil.

  3. Herhangi bir günlüğü yedekleri birincil veritabanı gerekli günlük yedeklemeden sonra alınmış olması, Ayrıca bu ikincil çoğaltma barındıran sunucu örneği kopyalayın ve her biri bu günlüğü yedekleri ile en erken başlangıç ve her zaman geri WITH norecovery kullanarak ikincil veritabanına uygulamak gerekir.

    [!NOT]

    Günlük yedekleme birincil veritabanı oluşturduğunuz ve günlük yedekleme henüz alınmış veya kurtarma modeli sadece basit tam değiştirilmişse mevcut değildir.

  4. İkincil veritabanı yapılandırmasını tamamlamak için ikincil veritabanı kullanılabilirlik gruba katılması gerekir. Daha fazla bilgi için Ikincil bir veritabanı kullanılabilirlik grubuna (SQL Server) katılın.

[!NOT]

Bunlar gerçekleştirme hakkında bilgi için yedekleme ve geri yükleme işlemleri, bakın ilgili yedekleme ve geri yükleme görevlerini, bu konuda.

Transact-sql örnek

Aşağıdaki örnek, bir ikincil veritabanı hazırlar. Bu örnek AdventureWorks2012 varsayılan olarak basit kurtarma modeli kullanır örnek veritabanını.

  1. Kullanmak için AdventureWorks2012 veritabanı, tam kurtarma modeli kullanmak üzere değiştirin:

    USE master;
    GO
    ALTER DATABASE MyDB1 
    SET RECOVERY FULL;
    GO
    
  2. Tam veritabanı Basit kurtarma modeli değiştirme sonra ikincil veritabanı oluşturmak için kullanılan tam bir yedekleme oluşturun. Kurtarma modeli sadece değiştirilmiş olduğundan, yeni bir ortam oluşturmak için ayarlama ile format seçeneği belirtildi. Bu basit kurtarma modeli altında yapılan herhangi bir önceki yedeklemelerin tam kurtarma modeli altında yedekleme ayırmak yararlıdır. Bu örnek, yedekleme dosyasının amacı (c:\ AdventureWorks2012 .bak) veritabanı olarak aynı sürücüde oluşturulur.

    [!NOT]

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

    Birincil kopyayı barındıran sunucu örneği (INSTANCE01), birincil veritabanının tam bir yedeğini aşağıdaki gibi oluşturun:

    BACKUP DATABASE MyDB1 
        TO DISK = 'C:\MyDB1.bak' 
        WITH FORMAT
    GO
    
  3. Tam yedekleme ikincil çoğaltma barındıran sunucu örneğini kopyalayın.

  4. İkincil çoğaltma barındıran sunucu örneği geri norecovery ile kullanarak, tam yedekleme geri yükleme. Geri yükle komutu yolları birincil ve ikincil veritabanları özdeş olup bağlıdır.

    • Yolları özdeşse:

      İkincil çoğaltma barındıran bilgisayarda aşağıdaki gibi tam yedekleme geri yükleme:

      RESTORE DATABASE MyDB1 
          FROM DISK = 'C:\MyDB1.bak' 
          WITH NORECOVERY
      GO
      
    • Farklı yolları ise:

      Ikincil veritabanı yolu birincil veritabanı yolundan farklıysa (örneğin, kendi sürücü harfleri farklı), ikincil veritabanı oluşturmak gerekir geri yükleme işlemi move yan tümcesi içerir.

      Önemli notÖnemli

      Birincil ve ikincil veritabanları yol adları farklıysa, bir dosya ekleyemezsiniz. Dosya ekleme işlemi için günlüğe alma, yeni dosya yolu yerleştirmek ikincil çoğaltma sunucusu örneği çalışır çünkü bu birincil veritabanı tarafından kullanılır.

      Örneğin, aşağıdaki komut varsayılan örneği veri dizininde bulunan bir birincil veritabanı yedeğini geri SQL Server 2012, C:\Program Files\Microsoft SQL Server\MSSQL11.mssqlserver\mssql\data. Geri yükleme veritabanı işlemi veritabanını uzak bir örneği veri dizinine taşımanız gerekir SQL Server 2012adlı (AlwaysOn1), hangi ev sahipliği yapan başka bir küme düğümü üzerinde ikincil kopya. Orada, veri ve günlük dosyaları için geri C:\Program Files\Microsoft SQL Server\MSSQL11.ALWAYSON1\MSSQL\DATAdizini. Geri yükleme işlemi WITH norecovery, ikincil veritabanı geri yükleme veritabanında bırakmak için kullanır.

      RESTORE DATABASE MyDB1
        FROM DISK='C:\MyDB1.bak'
       WITH NORECOVERY, 
          MOVE 'MyDB1_Data' TO 
           'C:\Program Files\Microsoft SQL Server\MSSQL11.ALWAYSON1\MSSQL\DATA\MyDB1_Data.mdf', 
          MOVE 'MyDB1_Log' TO
           'C:\Program Files\Microsoft SQL Server\MSSQL11.ALWAYSON1\MSSQL\DATA\MyDB1_Data.ldf';
      GO
      
  5. Tam yedeği geri yükledikten sonra birincil veritabanı günlük yedekleme oluşturmanız gerekir. Örneğin, aşağıdaki Transact-SQLdeyimi oturum yedekler adlı bir yedek dosya E:\MyDB1_log.bak:

    BACKUP LOG MyDB1 
      TO DISK = 'E:\MyDB1_log.bak' 
    GO
    
  6. Veritabanı için ikincil çoğaltma katılabilir önce gerekli günlük yedekleme (ve herhangi bir sonraki günlük yedeklemeler) uygulamalısınız.

    Örneğin, aşağıdaki Transact-SQLdeyimini ilk günlüğünden geri C:\MyDB1.bak:

    RESTORE LOG MyDB1 
      FROM DISK = 'E:\MyDB1_log.bak' 
        WITH FILE=1, NORECOVERY
    GO
    
  7. İkincil çoğaltma veritabanı katıldı önce herhangi bir ek günlüğü yedekleri oluşursa, ayrıca tüm bu günlüğü yedekleri restore WITH norecovery kullanarak ikincil çoğaltma barındıran sunucu örneği sıra geri gerekir.

    Örneğin, aşağıdaki Transact-SQLiki ek günlüklerden deyimini geri E:\MyDB1_log.bak:

    RESTORE LOG MyDB1 
      FROM DISK = 'E:\MyDB1_log.bak' 
        WITH FILE=2, NORECOVERY
    GO
    RESTORE LOG MyDB1 
      FROM DISK = 'E:\MyDB1_log.bak' 
        WITH FILE=3, NORECOVERY
    GO
    

[Üst]

PowerShell kullanma

Ikincil bir veritabanı hazırlamak için

  1. Birincil veritabanının yeni bir yedeğini oluşturmanız gerekiyorsa, dizini Değiştir (cd) birincil kopyayı barındıran sunucu örneği.

  2. Kullanım Backup-SqlDatabaseher yedeklemeler oluşturmak için cmdlet.

  3. Dizin Değiştir (cd) ikincil çoğaltma barındıran sunucu örneği.

  4. Veritabanını geri yüklemek ve her birincil veritabanı yedeklerini oturum için restore-SqlDatabasecmdlet, belirtme NoRecoveryparametresi geri. Birincil yineleme ana bilgisayar ve hedef ikincil kopya dosya yolları farklıdır, da RelocateFileparametresi geri.

    [!NOT]

    Bir cmdlet sözdizimini görüntülemek için Get-Helpcmdlet'inde SQL ServerPowerShell ortam. Daha fazla bilgi için, bkz. SQL Server PowerShell Yardımı almak.

  5. Ikincil veritabanı yapılandırmasını tamamlamak için kullanılabilirlik gruba katılması gerekir. Daha fazla bilgi için Ikincil bir veritabanı kullanılabilirlik grubuna (SQL Server) katılın.

Kurmak ve SQL Server PowerShell sağlayıcısı kullanma

Örnek yedekleme ve geri yükleme komut dosyası komutu

Ağa bir tam veritabanı yedeklemesi ve hareket günlüğü yedekleme aşağıdaki PowerShell komutları paylaşmak ve bu payı bu yedekleri geri yükleme. Bu örnek, veritabanı geri dosya yolu üzerinde veritabanı yedeklenmesinden dosya yolu ile aynı olduğunu varsayar.

# Create database backup
Backup-SqlDatabase -Database "MyDB1" -BackupFile "\\share\backups\MyDB1.bak" -ServerInstance "SourceMachine\Instance"
# Create log backup
Backup-SqlDatabase -Database "MyDB1" -BackupAction "Log" -BackupFile "\\share\backups\MyDB1.trn" -ServerInstance "SourceMachine\Instance"
# Restore database backup 
Restore-SqlDatabase -Database "MyDB1" -BackupFile "\\share\backups\MyDB1.bak" -NoRecovery -ServerInstance "DestinationMachine\Instance"
# Restore log backup 
Restore-SqlDatabase -Database "MyDB1" -BackupFile "\\share\backups\MyDB1.trn" -RestoreAction "Log" -NoRecovery –ServerInstance "DestinationMachine\Instance"

İzleme: Ikincil bir veritabanı hazırladıktan sonra

İkincil veritabanı tam yapılandırması için yeni geri yüklenen veritabanı kullanılabilirlik grubuna katılın. Daha fazla bilgi için, bkz. Ikincil bir veritabanı kullanılabilirlik grubuna (SQL Server) katılın.

Ayrıca bkz.

Başvuru

Yedekleme (Transact-sql)

restore değişkenlerini (Transact-sql)

RESTORE (Transact-SQL)

Kavramlar

AlwaysOn kullanılabilirlik grupları (SQL Server) genel bakış

Başarısız-Dosya Ekle işlemi (AlwaysOn kullanılabilirlik grupları) sorun giderme