Nasıl yapılır: İçin (Transact-SQL) yansıtma yansıtma veritabanı hazırlama
Yansıtma veritabanı önce mevcut bir veritabanı yansıtması oturum başlayabilir.Yansıtma veritabanının adını adı ile aynı olmalıdır asıl veritabanı.Yansıtma veritabanı, veritabanı sahibi veya sistem yöneticinize bir son tam yedekden oluşturabilirsiniz asıl veritabanı ve en az bir sonraki günlük yedeği.Çalışmak için yansıtma için yansıtma veritabanı geri yükleme durumunda kalmalıdır.Yansıtma veritabanı için bir yedek geri yüklediğinizde, bu nedenle, her zaman WITH norecovery her geri yükleme işlemi için kullanmanız gerekir.
Yansıtma kaldırıldı ve yansıtma veritabanı hala kurtarma durumda, yansıtma yeniden başlatabilirsiniz.Ancak, ilk olarak, en az günlük yedeği asıl veritabanı alınması gerekir.Daha sonra yansıtma veritabanı üzerinde WITH norecovery yansıtma kaldırıldı bu yana asıl veritabanı üzerinde gerçekleştirilen tüm günlüğü yedeklerini geri yükleme yüklemelisiniz.
Not
Yansıtması yapılamıyor ana, msdb, temp, veya modeli sistem veritabanları.
Yordam
Veritabanı için bir veritabanı oluşturmak içinyansıtma
Make sure that both the principal and mirror server instances have Microsoft SQL Server 2008 installed.
Veritabanı tam kurtarma modeli kullanır doğrulayın.
Daha fazla bilgi için bkz: Nasıl yapılır: Görüntülemek veya bir veritabanı (sql Server Management Studio'yu) kurtarma modeli değiştirme veya sys.Databases (Transact-sql) ve ALTER DATABASE (Transact-SQL).
asıl veritabanı bir tam veritabanı yedekleme yedek.
Daha fazla bilgi için bkz: Nasıl yapılır: Veritabanı Yedekleme (SQL Server Management Studio) veya Nasıl yapılır: Tam veritabanı yedeği (Transact-SQL) oluştur.
Not
Alternatif olarak, varolan bir tam Veritabanı yedeklemesi ve isteğe bağlı olarak, fark veritabanı yedeğini geri yükleme yükleyebilir ve ardından her bir sonraki günlük yedeği tarafından.
Yansıtma veritabanı oluşturmak için planladığınız sistem veritabanını tutmak için yeterli alanı olan bir disk sürücü sahip olduğundan emin olun.
Her iki sistemlerden erişilebilir bir ağ sürücüsünde yedek olmadığı sürece, veritabanı yedeğinin bu sisteme kopyalayın.
Yansıtma veritabanı oluşturmak için üzerine tam veritabanı yedeği geri yükleme yansıtma sunucusu örnek.restore database veritabanı_adı deyim WITH norecovery belirtmeniz gerekir nerede veritabanı_adı yansıtılmış veritabanı adıdır.
Not
Veritabanı dosya grubu dosya grubu tarafından geri yükleme, tüm veritabanını geri yükleme yüklemek emin olun.
Ayrıca, mümkünse (sürücü harfi dahil) yansıtma veritabanı yolunu asıl veritabanı yol özdeş, öneririz.
Dosya düzenleri farklı olması durumunda, asıl veritabanı üzerinde ise, 'f:' sürücü Ancak bir f: yansıtma sistem kapatma sürücü, restore DEYİMİNDE TAŞIMA seçeneğini eklemeniz gerekir.
Önemli oturum sonlarındaki gerektiren olmadan bir yansıtma oturum sırasında bir dosya ekleme yol sunucularda hem de dosya bulunmaktadır.Bu nedenle, yansıtma veritabanı oluşturulurken veritabanı dosyalarını taşımak, bir sonraki dosya Ekle işlemi yansıtma veritabanı başarısız ve yansıtma askıya alınmasına neden.Başarısız-dosyası oluştur işlemi postalarla hakkında daha fazla bilgi için bkz: Veritabanı yansıtma dağıtım sorunlarını giderme.
Daha fazla bilgi için bkz: RESTORE (Transact-SQL) ve Bağımsız değişkenlerini (Transact-sql) geri yükleme.
Tipik olarak, en az günlük yedeği kopyalanan asıl veritabanı üzerinde alınması yansıtma sunucusuve (WITH norecovery kullanarak) yansıtma veritabanı üzerinde geri.Ancak, günlük yedeği veritabanı oluşturduğunuz ve günlük yedeği yok henüz alınmış veya kurtarma modeli yalnızca basit tam olarak değiştirilmişse, gereksiz, olabilir.
Üzerinde yansıtma veritabanına günlük yedek uygulamak için yansıtma sunucusu kullanabilirsiniz SQL Server veya Transact-SQL:
Gerekli günlük yedeğilemeden sonra herhangi bir ek günlüğü yedekleri asıl veritabanı üzerinde gerçekleştirilen, ayrıca bunları kopyalamanız gerekir yansıtma sunucusu ve her biri bu günlüğü yedekleri erken başlayan ve her zaman WITH norecovery kullanarak yansıtma veritabanına uygulanan.
Güvenlik Notu |
---|
Bir veritabanı yedeklenmeden trustworthy off için küme.Bu nedenle, trustworthy her zaman yeni bir yansıtma veritabanı kapalı olur.Veritabanı yük devretme sonrasında güvenilir olması gerekiyorsa, ek adımlar gereklidir.Daha fazla bilgi için bkz: Nasıl yapılır: Güvenilir özelliğinin kullanılması bir yansıtma veritabanı ayarlama. |
Önemli |
---|
veritabanı yansıtması durdurulursa yansıtma yeniden önce asıl veritabanı üzerinde gerçekleştirilen tüm izleyen günlük yedeklemeler yansıtma veritabanı uygulanmış olması gerekir. |
Örnek
Başlatabilmeniz için önce bir veritabanı yansıtması bir oturum yansıtma veritabanı oluşturmanız gerekir.Yansıtma oturum başlatmadan önce bunu yapmanız gerekir.
Bu örnek kullanır AdventureWorks2008R2 örnek veritabanı, varsayılan olarak Basit kurtarma modeli kullanır
Veritabanını kullanmak için yansıtma ile AdventureWorks2008R2 veritabanı, tam kurtarma modeli kullanacak şekilde değiştirin:
USE master; GO ALTER DATABASE AdventureWorks2008R2 SET RECOVERY FULL; GO
Oluşturmak basit gelen veritabanının tam kurtarma modeli değiştirdikten sonra bir tam yedek, yansıtma veritabanı oluşturmak için kullanılabilir olduğu.Kurtarma modeli yalnızca değiştirilmiş olduğundan, ile format seçeneği yeni bir oluşturmak için belirtilen medya küme.Basit kurtarma modeli altında yapılan herhangi bir önceki yedeklemelerin tam kurtarma modeli altında yedekleme ayırmak yararlıdır.For the purpose of this example, the backup file (C:\AdventureWorks2008R2.bak) is created on the same drive as the database.
Not
Üretim veritabanı için her zaman size gereken yedeklemek için ayrı bir aygıt.
Asıl sunucu örnek üzerinde (üzerinde PARTNERHOST1), oluşturma bir tam yedek asıl veritabanı aşağıdaki gibi:
BACKUP DATABASE AdventureWorks2008R2 TO DISK = 'C:\AdventureWorks2008R2.bak' WITH FORMAT GO
Tam yedeğini yansıtma sunucusu.
Tam yedek WITH norecovery üzerine geri yansıtma sunucusu örnek.geri yükleme komutu olup ana para ve yansıtma veritabanlarının yollar aynı bağlıdır.
Yolları özdeşse:
Üzerinde yansıtma sunucusu örnek (üzerinde PARTNERHOST5), aşağıdaki gibi tam yedek geri yükleme:
RESTORE DATABASE AdventureWorks2008R2 FROM DISK = 'C:\AdventureWorks2008R2.bak' WITH NORECOVERY GO
Farklı yolları ise:
yol yan tümce tümcesıtma veritabanı farklı yol asıl veritabanı (örneğin, sürücü harfleriyle farklılık gösterir) yan tümce tümcesıtma veritabanı oluşturmak gerekir geri yükleme işlemi move yan tümce tümce tümce içerir.
Önemli Ana para ve yansıtma veritabanlarının yol adları farklıysa, bir dosya ekleyemezsiniz.Bu on günlük dosyası Ekle dosya işlemi için alma çünkü yansıtma sunucusu yeni dosyanın asıl veritabanı tarafından kullanılan konuma yerleştirmek örnek çalışır.
Örneğin, aşağıdaki komut bir yedeğini geri yükler bir asıl veritabanı bulunan C:\Program Files\Microsoft sql Server\MSSQL.n\MSSQL\Data\ için farklı bir konum D:\Program Files\Microsoft sql Server\MSSQL.n\MSSQL\Data\, yansıtma veritabanının bulunduğu yerde.
RESTORE DATABASE AdventureWorks2008R2 FROM DISK='C:\AdventureWorks2008R2.bak' WITH NORECOVERY, MOVE 'AdventureWorks2008R2_Data' TO 'D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\AdventureWorks2008R2_Data.mdf', MOVE 'AdventureWorks2008R2_Log' TO 'D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\AdventureWorks2008R2_Log.ldf'; GO
tam yedek oluşturulduktan sonra asıl veritabanı üzerinde günlük yedeği oluşturmanız gerekir.Örneğin, aşağıdaki Transact-SQL deyim yukarıdaki tam yedek tarafından kullanılan dosya günlüğünü yedekler:
BACKUP LOG AdventureWorks2008R2 TO DISK = 'C:\AdventureWorks2008R2.bak' GO
Yansıtma başlamadan önce gerekli günlük yedeği (ve tüm izleyen günlük yedeklemeler) uygulamanız gerekir.
For example, the following Transact-SQL statement restores the first log from C:\AdventureWorks2008R2.bak:
RESTORE LOG AdventureWorks2008R2 FROM DISK = 'C:\AdventureWorks2008R2.bak' WITH FILE=1, NORECOVERY GO
Herhangi ek günlük yedeklemeler yansıtma başlamadan önce ortaya, aynı zamanda tüm bu günlüğü yedekleri sırayla çok geri yükleme gerekir yansıtma sunucusu WITH norecovery kullanarak.
For example, the following Transact-SQL statement restores two additional logs from C:\AdventureWorks2008R2.bak:
RESTORE LOG AdventureWorks2008R2 FROM DISK = 'C:\AdventureWorks2008R2.bak' WITH FILE=2, NORECOVERY GO RESTORE LOG AdventureWorks2008R2 FROM DISK = 'C:\AdventureWorks2008R2.bak' WITH FILE=3, NORECOVERY GO
veritabanı yansıtması yukarı ayarı tam bir örnek için bkz: güvenlik Kurulumu gösteren yansıtma veritabanı hazırlama, ortakları ayarlama ve bir şahit ekleme Veritabanı yansıtma yukarı ayarı.
Ayrıca bkz.