Aracılığıyla paylaş


Nasıl Yapılır: Eşler işlemsel kopyalama (çoğaltma Transact-SQL programlama) yapılandırın.

Bu konu, yapılandırmak ve saklı yordam kullanarak bir eşler arası çoğaltma topolojisi korumak açıklar.Konunun ilk üç düğüm bir topoloji oluşturulması gösterilmiştir ve sonra ekleyin ve yeni bir düğüme bağlanmak açıklar.Çalışmakta olan bir düğüm eklemek için ayrı yordamlar gösterilir SQL Server 2005 çalışmakta olan bir düğüm ekleme SQL Server 2008 veya sonraki sürüm SQL Server. Bu konu, eşler arası çoğaltmada çakışmaları algılamak için kullanılan parametreler hakkında bilgi içermez.Çakışma algılama hakkında daha fazla bilgi için bkz: Nasıl Yapılır: Çakışma algılama eşler arası işlemsel kopyalama (çoğaltma Transact-SQL programlama) için yapılandırma.

Topoloji yapılandırma, bir dizi standart işlemsel yayımlar ve abonelikler yapılandırma için çok benzer.Unutmayın ana düğümlerin nasıl başlatılır ve için belirtilen değerler noktasıdır @ sync_type parametresisp_addsubscription:

  • Ilk düğümü topolojisinde, özgün yayın veritabanı içerir; bu nedenle, şemayı ve verileri ile başlatılması gerekmez.Bu nedenle, değeri belirtin yalnızca çoğaltma desteği verilerini diğer düğümlerden ilk düğüme çoğaltmak Abonelikler.Bu seçenek, çoğaltma tarafından gereken nesneleri ilk düğüme kopyalanır sağlar.

  • Ilk düğümü yapılandırıldıktan sonra düğümler, genellikle ilk düğümü bir yedekten başlatılır.Bu nedenle, değeri belirtin yedek başlatılamıyor. or yalnızca çoğaltma desteği veri ilk düğümden başka düğümlere çoğaltmak Abonelikler.Değeri yalnızca çoğaltma desteği Aktivite oluşup sistem ancak değeri kullanılabiliryedek başlatılamıyor. , sistemi etkin değilse gereklidir.Belirtme yedek başlatılamıyor. tüm ilgili hareketler için yeni bir düğüm çoğaltılır sağlar.

  • Bir düğüm başlatıldı sonra diğer düğümlerden veri çoğaltma abonelikler düğüm yeniden başlatılmaya sahip değilsiniz.Bu nedenle, değeri belirtin yalnızca çoğaltma desteği or SSN başlatılamıyor..Değeri yalnızca çoğaltma desteği Aktivite oluşup sistem ancak değeri kullanılabilirSSN başlatılamıyor. , sistemi etkin değilse gereklidir.Belirtme SSN başlatılamıyor. tüm ilgili hareketler için yeni bir düğüm çoğaltılır sağlar.

    SQL Server 2005 desteklemiyor SSN başlatılamıyor..Bir topolojiyi içeriyorsa SQL Server 2005 düğümlerin, yeni bir düğüm varolan bir düğüme bağlanabilirsiniz, ancak quiesce sistem birden fazla düğüme bağlanmak için gerekir. Tüm düğümlerin altında yayımlanmış tablolarda etkinliğini durdurma ve her düğümün tüm değişiklikleri diğer tüm düğümlerden aldığını emin olun, Quiescing bir sistem içerir.Bu işlemi, bu konunun bir son bölümünde ayrıntılı olarak açıklanmıştır.

Yordam

Etkin veritabanı için bir çoğaltma topolojisini yapılandırıyorsanız, birinci ve ikinci düğüm (Node A ve düğüm B) eklemek için aşağıdaki yordamı kullanın.Daha sonra düğüm C ve herhangi bir ek düğüm için sonraki yordamı kullanın.Sonraki yordam kullanan bir @ sync_type value of SSN başlatılamıyor..Bu seçenek, sistem tüm işlemleri eksik olmadan etkin durumdayken bir topoloji yapılandırmanıza olanak sağlar.

Eşler arası çoğaltma üç düğüm arasında ayarlamak için

  1. Her düğüm, yayımcı yapılandırmak ve bunu yerel veya uzak Dağıtımcı ile ilişkilendirin.Bu büyük olasılıkla bir kilit hata noktası olduğundan uzak Dağıtımcı kullanırsanız, tüm düğümler için aynı uzak Dağıtımcı kullanmayın öneririz.Daha fazla bilgi için bkz: Nasıl Yapılır: Yayımlama ve Dağıtım (çoğaltma Transact-SQL programlama) yapılandırın..

  2. BIR düğüm sırasında yürütmek sp_addpublication.Bir değer belirtin. true için @ enabled_for_p2p değeriEtkin for @ durumu ve değeri true için @ allow_initialize_from_backup.Makaleleri yayına eklemek için , yürütmek sp_addarticle.

  3. Topoloji yapılandırılmadan önce her bir düğümde ilk veri bulunmalıdır.Kullanımı SQL Server veri yayın her düğümdeki topolojide başlatmak için yedek ve geri yükleme işlevselliği. yedek yapılandırıldı ilk düğümünden gelen; bu durumda, A düğümü olanyedek sırasında düğüm BIR yayın oluşturduktan ve eşler arası çoğaltma için etkin sonra alınması gerekir.Bu konu, tüm düğümlerin eklenmeden önce aktivite herhangi yeni düğümler oluştuğunu varsayar; bu nedenle, aynı yedek her düğümde başlatılamıyor.

    Tüm düğümlerin eklenmeden önce aktivite herhangi yeni düğümler etmiyorsa, her düğümde eklenmiş olan a düğümü eşitlenen en az bir kez sonra yeni bir yedek gerçekleştirmeniz gerekirBu düğümü BIR yedekten diğer tüm düğümlerle ilgili meta veriler içerdiğini sağlar.Örneğin bu düğümlerde etkinlik düğüm B ve düğüm C ekleyin: ile düğüm BIR yedekten düğüm B başlatılamıyor; yapılandırmak ve düğüm B eşitleme; BIR düğüm yeni bir yedek alın; düğüm C ile yeni bir yedekleme; başlatılamıyor ve yapılandırmak ve düğüm C eşitleme

    Nasıl yedeklenir ve geri yükleme yüklenir veritabanları hakkında daha fazla bilgi için bkz: Metatabanını yedekleme ve SQL Server'da Veritabanları geri yükleme.

    Important noteImportant Note:

    Veritabanını geri yükleme işleminde (KEEP_REPLICATION seçeneği belirtin Transact-SQL) veya çoğaltma ayarlarını koru (için seçeneğiSQL Server Management Studio). Eşler arası topoloji Yapılandırma Sihirbazı'nı çalıştırdığınızda, çoğaltma veritabanını uygun şekilde yapılandırın.

    Tüm veritabanını BIR yedek içeriyor; bu nedenle, yeniden başlatıldığında her eşin veritabanı yayın veritabanı'nın tam bir kopyasını içerir.yedek, yayın makaleleri belirtilmeyen bir tablo içerebilir.Yönetici veya yedek geri sonra herhangi bir istenmeyen nesneleri veya verileri kaldırmak için uygulama sorumluluğundadır.Makaleler olarak belirtilen tablolara uygularsanız sonraki eşitlemeler, yalnızca veri değişiklikler çoğaltılır.

  4. BIR düğüm sırasında yürütmek sp_addsubscription.Düğüm A'da oluşturulan yayın adı belirtin. @ Yayını B düğüm adı**@ abone** B düğümü altında hedef veritabanının adı**@ destination_db** değeriyedek başlatılamıyor. for @ sync_typeve için uygun değerleri**@ backupdevicetype** and @ backupdevicename Parametreler.

  5. BIR düğüm altında yeniden yürütmek sp_addsubscription.Bu saat, yayın olarak adını belirtin. @ yayın olarak düğüm C adı**@ abone** olarak düğüm C adresindeki hedef veritabanının adını**@ destination_db** değeriyedek başlatılamıyor. for @ sync_typeve için uygun değerleri**@ backupdevicetype** and @ backupdevicename Parametreler.

  6. B düğümü, yürütmek sp_addpublication.yayın adını belirtin @ yayın değeritrue için @ enabled_for_p2p değeriEtkin for @ durumu ve değeri true için @ allow_initialize_from_backup.Makaleleri yayına eklemek için , yürütmek sp_addarticle.

  7. B düğümü, yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak BIR düğümün adı**@ abone**, hedef veritabanına olarak BIR düğüm adı**@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  8. B düğümü yeniden yürütmek sp_addsubscription.Bu saat, yayın olarak adını belirtin. @ yayın olarak düğüm C adı**@ abone** olarak düğüm C adresindeki hedef veritabanının adını**@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  9. Düğüm C sırasında yürütmek sp_addpublication.yayın adını belirtin @ yayın değeritrue için @ enabled_for_p2p değeriEtkin for @ durumu ve değeri true için @ allow_initialize_from_backup.Makaleleri yayına eklemek için , yürütmek sp_addarticle.

  10. Düğüm C sırasında yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak BIR düğümün adı**@ abone**, hedef veritabanına olarak BIR düğüm adı**@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  11. Düğüm C'in altında yeniden yürütmek sp_addsubscription.Bu saat, yayın olarak adını belirtin. @ yayın B düğüm adı**@ abone** B düğümü altında hedef veritabanının adı**@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  12. Geri yükleme işleminden sonra yayımlanmış olan tablolarda tüm kimlik sütunlarının varsa BIR düğüm üzerinde tablolar için atanan kimlik aralık da Tablo düğümü B ve düğüm c üzerinde kullanılacak olanKullanmanız gerekir dbcc checkident tabloların her biri için farklı bir aralık kullanıldığından emin olmak için düğümü B ve düğüm C reseed için.

    Kimlik aralıkları yönetme hakkında daha fazla bilgi için "El ile kimlik aralık yönetimi için aralıkları atama" bölümüne bakın. Kimlik sütunları çoğaltılıyor.

Çalıştıran düğümlerden oluşan bir topoloji için bir veya daha fazla düğüm eklemek için aşağıdaki yordamı kullanın. SQL Server 2008 veya sonraki sürümleri SQL Server.

Topolojiye, SQL Server 2008 veya sonraki bir sürüm çalıştıran bir düğüm eklemek için

  1. Düğüm D yayımcı yapılandırmak ve bunu yerel veya uzak Dağıtımcı ile ilişkilendirin.

  2. Bir yedek düğüm D'IÇIN BIR düğüm geri yükleme

  3. Düğüm konumunda D, yürütmek sp_addpublication.yayın adını belirtin @ yayın değeritrue için @ enabled_for_p2p değeriEtkin for @ durumu ve değeri true için @ allow_initialize_from_backup.Makaleleri yayına eklemek için , yürütmek sp_addarticle.

  4. Düğüm konumunda D, yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak BIR düğümün adı**@ abone**, hedef veritabanına olarak BIR düğüm adı**@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  5. BIR düğüm sırasında yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak düğüm D adını**@ abonekonumundaki düğüm D olarak hedef veritabanı adı@ destination_db** değeriyedek başlatılamıyor. for @ sync_typeve için uygun değerleri**@ backupdevicetype** and @ backupdevicename Parametreler.

    B düğümü düğüm B'ı ve düğüm a aracılığıyla düğüm C olabilecek hareketler aldıSonraki adımda, bu hareketler olarak kabul edilir.

  6. Düğüm konumunda D, query MSpeer_lsns tablosudur.Use iletiyi gönderen and originator_lsn sütunları günlük belirlemek için düğümü D aldığı düğüm B en son hareket sayısı (SSN) sıra

  7. Düğüm konumunda D, yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın B düğüm adı**@ abone** B düğümü altında hedef veritabanının adı**@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  8. B düğümü, yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak düğüm D adını**@ abonekonumundaki düğüm D olarak hedef veritabanı adı@ destination_db** değeriSSN başlatılamıyor. for @ sync_typeve B düğümü'için alınan için SSN**@ subscriptionlsn**.

  9. Düğüm konumunda D, query MSpeer_lsns tablosudur.Use iletiyi gönderen and originator_lsn sütunları düğüm D aldığı düğüm C en son hareketin SSN belirlemek için

  10. Düğüm konumunda D, yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak düğüm C adı**@ abone** olarak düğüm C adresindeki hedef veritabanının adını**@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  11. Düğüm C sırasında yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak düğüm D adını**@ abonekonumundaki düğüm D olarak hedef veritabanı adı@ destination_db** değeriSSN başlatılamıyor. for @ sync_typeve düğüm C için alınan SSN**@ subscriptionlsn**.

  12. Geri yükleme işleminden sonra yayımlanmış olan tablolarda tüm kimlik sütunlarının varsa BIR düğüm üzerinde tablolar için atanan kimlik aralık da Tablo düğümü d üzerinde kullanılacak olanKullanmanız gerekir dbcc checkident Düğüm her biri için farklı bir aralık kullanıldığından emin olmak için D, tablo reseed.

    Kimlik aralıkları yönetme hakkında daha fazla bilgi için "El ile kimlik aralık yönetimi için aralıkları atama" bölümüne bakın. Kimlik sütunları çoğaltılıyor.

Bu konuya giriş içinde belirtildiği gibi ana fark ekleme arasında bir SQL Server 2005 düğüm ve daha sonraki bir sürüm çalıştıran bir düğümü ekleme SQL Server, yani SQL Server 2005 gerektirir, quiesce sistemde varolan tüm düğümler için yeni bir düğüme bağlanmak için sizin. Aşağıdaki yordam nasıl ekleneceğini gösterir bir SQL Server 2005 düğüm varolan topolojideki aşamalar için:

  • 1 Ile 5 arasındaki adımları bir aşamayı ele alınmıştır.Bu aşamada düğüm BIR düğüm d arasındaki abonelikler oluşturarak düğüm D topolojiye kısmen bağlanma içerir.Bu değişikliklerin A düğümü, düğüm B ve düğüm c oluşmaya devam etmek verirDüğüm BIR düğüm d arasında oluşturulmuş abonelikleri gibi değişiklikleri sırasında düğüm D başlayabilirDüğüm B ve düğüm C değişikliklerden düğüm D A düğümü aracılığıyla yinelenir

  • Aşama iki 6 ile 9 arasındaki adımları anlatılmıştır.Bu aşamada tamamen düğüm D abonelikler düğüm C düğüm d arasında ve düğüm B düğümü D arasındaki oluşturarak topolojiye bağlanma içerir.Bu aşama için sistem quiesce gerekir.

    Aşama iki gerekli değildir, ancak bunun yalnızca tek bir bağlantı düğümünü BIR düğüm d arasındaki sahip'den daha fazla hataya dayanıklılık sağlar

SQL Server 2005 düğüm topolojiye eklemek için

  1. Düğüm D yayımcı yapılandırmak ve bunu yerel veya uzak Dağıtımcı ile ilişkilendirin.

  2. Bir yedek düğüm D'IÇIN BIR düğüm geri yükleme

  3. Düğüm konumunda D, yürütmek sp_addpublication.yayın adını belirtin @ yayın değeritrue için @ enabled_for_p2p değeriEtkin for @ durumu ve değeri true için @ allow_initialize_from_backup.Makaleleri yayına eklemek için , yürütmek sp_addarticle.

  4. Düğüm konumunda D, yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak BIR düğümün adı**@ abone**, hedef veritabanına olarak BIR düğüm adı**@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  5. BIR düğüm sırasında yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak düğüm D adını**@ abonekonumundaki düğüm D olarak hedef veritabanı adı@ destination_db** değeriyedek başlatılamıyor. for @ sync_typeve için uygun değerleri**@ backupdevicetype** and @ backupdevicename Parametreler.

  6. Quiesce topolojiye göre şu adımları izleyin:

    1. Eşler arası topoloji yayımlanmış tüm tablolarda tüm etkinliğini durdurun.

    2. yürütmek sp_requestpeerresponse veritabanında enSunucu A, Sunucu B, Sunucu C, andSunucu Dve bir çıkış parametresi Al**@ request_id**.

    3. Varsayılan olarak dağıtım aracısıdır küme sürekli; bu nedenle çalıştırmak için , simgeleri tüm düğümler için otomatik olarak gönderilmelidir.Dağıtım aracısını kesintisiz modunda çalışmıyorsa, bu aracı çalıştırın.Daha fazla bilgi için bkz: Çoğaltma aracısı Yürütülebilirler kavramları veya Nasıl Yapılır: Başlatma ve bir çoğaltma aracısı (SQL Server Management Studio'yu) Durdur.

    4. yürütmek sp_helppeerresponses sağlayarak,@ request_id değeri, 2 numaralı adımda alınır.Eş isteği almış olan tüm düğümlerin belirtmek kadar bekleyin.

    5. Gerekirse, yeni kimlik aralıklarını konumundaki düğüm D atayın.Şu an tamamen topoloji kalan abonelikler ekleyerek bağlanabilirsiniz.

  7. Düğüm konumunda D, yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın B düğüm adı**@ abone** B düğümü altında hedef veritabanının adı**@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  8. Düğüm konumunda D, yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak düğüm C adı**@ abone** olarak düğüm C adresindeki hedef veritabanının adını**@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  9. B düğümü, yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak düğüm D adını**@ abonekonumundaki düğüm D olarak hedef veritabanı adı@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.

  10. Düğüm C sırasında yürütmek sp_addsubscription.yayın olarak adını belirtin @ yayın olarak düğüm D adını**@ abonekonumundaki düğüm D olarak hedef veritabanı adı@ destination_db**) ve değeri yalnızca çoğaltma desteği for @ sync_type.