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 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
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.
En az bir yeni günlük birincil veritabanı yedeğini oluşturun.
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.
İ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
[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.
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.
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.
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.
İ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ı.
Kullanmak için AdventureWorks2012 veritabanı, tam kurtarma modeli kullanmak üzere değiştirin:
USE master; GO ALTER DATABASE MyDB1 SET RECOVERY FULL; GO
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
Tam yedekleme ikincil çoğaltma barındıran sunucu örneğini kopyalayın.
İ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 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
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
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
İ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
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.
Kullanım Backup-SqlDatabaseher yedeklemeler oluşturmak için cmdlet.
Dizin Değiştir (cd) ikincil çoğaltma barındıran sunucu örneği.
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.
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
restore değişkenlerini (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