Aracılığıyla paylaş


Birleştirme çoğaltması, yayın ve abonelikleri nasıl başlatılır

Bunlar arasında veri akabilir önce birleştirme çoğaltma, yayımcı ve abone başlatmalısınız.Bu konu, başlatma sırasında ortaya çıkan adımları hakkında bilgiler sağlar.

yayın başlatma

Listelenen her bir saklı yordamı yürütmek gibi bir yayın ya da yükledikten sonra başlatma adımları aşağıdaki listesi ayrıntıları yeni yayın sihirbazını tamamlayın.Daha fazla başlatma, ilk defa bir yayın için anlık görüntü aracı çalıştıktan sonra ortaya çıkar.

  • sp_replicationdboption

    • yayın veritabanı kopyalama için işaretlenir.Veritabanı bırakılan sürece çoğaltma kaldırılır.

    • (Zaten bir birleştirme yayını veritabanında yoksa), sistem tabloları yayın veritabanına eklenir.Sistem tabloları tam listesi için bu konu bölümünde "Sistem tabloları oluşturma, yayın ve abonelik veritabanı" konusuna bakın.

  • sp_addmergepublication

    • Yayın için girişler, sistem tabloları eklenir.
  • sp_addpublication_snapshot

    • bir anlık görüntü Aracısı iş eklenenSQL ServerAracı.iş Adıdır formda**<Yayımcı>-<PublicationDatabase>-<Yayın>-<Tamsayı>**.
  • sp_addmergearticle

    • Her Çoğaltılmış nesneyi kopyalama için işaretlenir.Tüm yayınları karşılık gelen makale kesildiğinde sürece nesnenin silinemez.

    • Sistem tabloları her makale için bir girdi eklenir.

Yayının veritabanı başlatma geri kalanı (yayın veritabanı Snapshot Agent'ın sonraki işlemleri sırasında yeniden değil) bir yayın için anlık görüntü Aracısı'nın ilk çalışma sırasında ortaya çıkar.Yeni Yayın sihirbazını kullanırsanız, sihirbaz tamamlandıktan sonra ilk anlık görüntü görüntü görüntüyü varsayılan olarak oluşturulur.Depolanmış yordam kullanıyorsanız, aracı işi çalıştırmak veya aracı doğrudan çalıştırmak gerekir.Aracılar, çalıştırma hakkında daha fazla bilgi için bkz:Nasıl Yapılır: Başlatma ve bir çoğaltma aracısı (SQL Server Management Studio'yu) DurdurveÇoğaltma aracısı Yürütülebilirler kavramları.

İlk saat yayın Snapshot Agent çalışır:

  • Bir sütun adırowguid tablo (durumda, bu sütunun kullanılır) ROWGUIDCOL özellik küme veri türünü uniqueidentifier sütunu yoksa yayımlanan her tabloya eklenir.The rowguid column is used to uniquely identify every row in every published table.Gelen tablo kesilirse yayın,rowguid sütunu kaldırılır; izleme için kullanılan varolan bir sütunu, sütun kaldırılmaz.

  • Aşağıdaki nesneler oluşturulur yayın veritabanı her tablo yayımlanan için (tüm nesneler oluşturulur dbo şema):

    • Değişiklikleri izlemek için yayımlanan tablolar ekleme, güncelleştirme ve silme Tetikleyicileri eklenir.Tetikleyiciler biçiminde adlandırılmasıMSmerge_ins_<GUID>,MSmerge_upd_<GUID>, andMSmerge_del_<GUID>.GUID değeri girdisinden sistem tablosu makalesinde için türetilmişsysmergearticles.

    • Saklı yordamlar, ekler, güncelleştirmeler ve yayınlanan tablolarına siler ve çok sayıda çoğaltma ile ilgili diğer işlemleri gerçekleştirmek için oluşturulur.

    • Görünümler ekler, siler güncelleştirmeleri yönetmek için oluşturulan ve filtre uygulama'dır.

    • Çakışma tabloları çakışma bilgilerini depolamak için oluşturulur.Yayımlanan tabloların şema çakışma tabloları aynı: yayımlanan her tablo komut dosyası ve çakışma tablosuna oluşturmak için komut dosyası daha sonra kullanılan yayın veritabanı. Çakışma tablolarının adı biçimindedbo.MSmerge_conflict_<Yayın>_<Makale>.

anlık görüntü Agent çalışır her (birlikte, ilgili dosya uzantıları) dosyalarının aşağıdaki türleri için her makale oluşturulan yayın veritabanı:

  • Şema (.sch)

  • Sınırlamalar ve dizinleri (.dri)

  • Tetikleyiciler (.trg)

  • Sistem Tablo verisi (.sys)

  • Çakışma tabloları (.cft)

  • Yayınlar için parametrelendirilmiş filtreler ile oluşturulmuş veri (.bcp).

    Yayın parametreli hale getirilmiş herhangi bir filtre kullanıyorsanız, bir dizi .bcp yayımlanan tablolarda veri anlık görüntü görüntü görüntüsünü içerir.Rapor anlık görüntü görüntü görüntüsünü ilk yayın parametrelendirilmiş filtreler (birleştirme yayımları için normaldir) kullanıyorsa, herhangi bir veri içermiyor.Veri anlık görüntü görüntü "Bir abonelik başlatma" bölümünde açıklanan abone'nın bölümü kullanılarak sağlanır.

Bir abonelik başlatma

Merge Agent aboneliği için çalışan ve ilk anlık görüntü görüntü görüntüyü için kopyalar her abonelik başlatılır abonelik veritabanı.Şema ve nesnelerde verileri yanında sistem tabloları, görünümleri, Tetikleyiciler ve yayın veritabanında bulunan saklı yordamlar anlık görüntü görüntü görüntüsünü içerir (bir veya iki ek sistem tabloları da için kopyalanan abonelik veritabanı).Sistem tabloları tam listesi için bu konu bölümünde "Sistem tabloları oluşturma, yayın ve abonelik veritabanı" konusuna bakın.Aboneliği yeniden, tüm nesnelerde ve çoğaltma sistem nesneleri yazılır.

Yayın veritabanındaki tabloları hiçbiri parametrelendirilmiş filtreler kullanırsanız, aynı yayın anlık görüntü görüntü her abone için kopyalanır.Bir veya daha fazla parametrelendirilmiş filtreler kullandıysanız, her abonelik eşitlenmiş yöntem aşağıdaki mantık tarafından yönetilir:

  • Anlık görüntü konumu birleştirme Aracı komut satırında belirtilmezse:

    • Bu konumdan anlık görüntü uygulanır.
  • anlık görüntü görüntü pre-generated ise, else:

    • Anlık görüntü ' yerini almakMSmerge_dynamic_snapshots , yayın veritabanı ve uygulama bu konuma anlık
  • Başka yayın abonelerine anlık görüntüler oluşturmak izin verir:

    • Anlık görüntü ile aynı bölüme başka bir abone için zaten oluşturuldu, abone için anlık görüntü uygulanır.

    • Başka oluşturmak ve abone için anlık görüntü uygulanır.

  • Başka tablolarda karşı SELECT deyimi kullanarak abone başlatmak yayın.Bu yaklaşım bölüm abonenin bir anlık görüntü kullanmaktan daha yavaştır.

Anlık görüntü aktarımı herhangi bir noktada kesilirse, otomatik olarak devam eder ve zaten tamamen aktarılmış dosyaları gönderecektir.Tam, kısmi olarak teslim edilen dosyalar redelivered gerekir; böylece birim anlık görüntü aracı için teslimat her yayında makale Kullanımıbcp dosyasıdır.Ancak, anlık görüntüyü sürdürme önemli ölçüde aktarılan veri miktarını azaltmak ve bağlantı güvenilir olsa da, zamanında anlık görüntü teslim olun.Anlık görüntüler, oluşturma hakkında daha fazla bilgi için bkz:Anlık görüntüler için birleştirme yayınları ile parametreli hale getirilmiş süzgeçleri.

Anlık görüntü konumu

anlık görüntü görüntü konuma bağlıdır: diğer anlık konum, yayını bir UNC yol veya FTP paylaşımı anlık görüntü klasörü kullanıp ve yayın kullanıp belirlenmi filtreleri. ya da varsayılan yol belirtilen Bu örneklerde, bu anlık görüntü klasörü konumunun kabul edilir: \\<MyComputer>\<MyFolder>\:

  • yayın UNC, dosyanın ilk bölümünü kullanıp kullanmadığını yol olan: \\<MyComputer>\<MyFolder>\unc\.FTP kullandığı varsa: \\<MyComputer>\<MyFolder>\ftp\.

  • Yayın UNC kullanır ve parametrelendirilmiş filtreler kullanır, yoludur: \\<MyComputer>\<MyFolder>\unc\<Publisher>_<Publicationdb>_<publication>

  • Yayın UNC kullanır ve parametrelendirilmiş filtreler kullanır, anlık görüntü klasörü yol ve süzme ölçütleri yayının parametreli satır konumu dayanır.Örneğin makale kullanarak filtre uygulanmış,HOST_NAME() işlev ve değer bölümü için HOST_NAME() 'SalesLaptop', bu bölüm için anlık görüntü yol: \\<MyComputer>\<MyFolder>\unc\<Publisher>_<Publicationdb>_<publication>\ SalesLaptop_12\, where 12 is the ID used internally for the partition.

Sistem tabloları yayın ve abonelik veritabanı oluşturma

Aşağıdaki tabloda, yayın veritabanı ve her abonelik veritabanı içinde oluşturulur.

Table

Açıklama

MSdynamicsnapshotjobs (Transact-SQL)

Parametreli filtrelerle yayınlar için anlık görüntü işlemler hakkında bilgi içerir.

MSdynamicsnapshotviews (Transact-SQL)

Parçaları tüm geçici anlık görüntü Aracısı tarafından oluşturulan görünümleri anlık görüntüsünü.Görünümler olağan dışı bir kapatma durumunda, temizleme sistemi tarafından kullanılırSQL ServerAracı veya anlık görüntü aracı.

MSmerge_altsyncpartners (Transact-SQL)

Geçerli eşitleme ortağı için bir Yayımcı kim ilişkiyi izler.

MSmerge_articlehistory (Transact-SQL)

Makale değişiklikler yapıldı, her makale için bir satır ile Merge Agent eşitleme oturum sırasında yapılan değişiklikler izler.

MSmerge_conflicts_info (Transact-SQL)

Birleştirme yayın aboneliğini eşitlerken oluşan parçaları çakışıyor.

MSmerge_contents (Transact-SQL)

Yayımlandıktan sonra geçerli veritabanında değiştirilen her satır için bir satır içerir.Bu tablo, birleştirme işlemi tarafından değiştirilen satırları belirlemek için kullanılır.

MSmerge_current_partition_mappings

Verilen değişen bir satırın ait olduğu her bölüm için bir satır içerir.

MSmerge_dynamic_snapshots (Transact-SQL)

Rapor anlık görüntü görüntü görüntüsünü birleştirme yayın tanımlanan her bölüm için konumu izler.

MSmerge_errorlineage (Transact-SQL)

Satır Abone tarafında silindi, ancak yayımcıya, silme yayılır içerir.

MSmerge_generation_partition_mappings (Transact-SQL)

Belirli bir oluşturma belirli bir bölümü için geçerli olan herhangi bir değişiklik içerir olup olmadığını izler.

MSmerge_genhistory (Transact-SQL)

Her üretim için bir satır içerir.Bir kuşak, Yayımcı veya abonelik için teslim değişiklikleri topluluğudur.Verirken olanKapalı her Birleştirme Aracısı çalışır; sonraki değişiklikler veritabanındaki bir veya daha fazla açık verirken için eklenir.

MSmerge_history (Transact-SQL)

Geçmiş satırları önceki Merge Agent sonucu ayrıntılı açıklamaları içeren iş oturumları.

MSmerge_identity_range (Transact-SQL)

Kimlik sütunları yayın abonelik için atanan sayısal aralıkları izler hangi çoğaltma aralık atamaları otomatik olarak yönetiyor.

MSmerge_metadataaction_request (Transact-SQL)

Gerekli olan karşılayan her eylem için bir satır içerir.Bir Dengeleme eylem değişikliği sırasında başka bir düğüm başarısız olursa, bir düğümden bir değişikliği geri almak almak dönmek için kullanılır.

MSmerge_partition_groups (Transact-SQL)

Belirli bir veritabanında precomputed her bölüm için bir satır içerir.

MSmerge_past_partition_mappings (Transact-SQL)

Belirli bir değişen satırla ait kullanılan her bölüm için bir satır içerir, ancak artık ait olduğu.

MSmerge_replinfo (Transact-SQL)

Her abonelik için bir satır içerir.Bu tabloyu dahili bilgiler hakkında gönderilen ve alınan verirken izler.

MSmerge_sessions (Transact-SQL)

Önceki Merge Agent işi oturumları sonucu geçmiş satırları içerir.

MSmerge_settingshistory (Transact-SQL)

Makale ve yayımlama özellikleri, yapılan her değişiklik için bir satır ile yapılan değişikliklerin geçmişini içerir.

MSmerge_tombstone (Transact-SQL)

Silinmiş satırlar hakkındaki bilgileri içerir ve silme için diğer abonelere dağıtılmasını sağlar.

MSrepl_errors (Transact-SQL)

Herhangi bir aracı başarısızlığı hakkındaki ayrıntılı bilgileri içerir.

sysmergearticles (Transact-SQL)

Her birleştirme makale için bir satır içerir.

sysmergepartitioninfo (Transact-SQL)

Her makale bölümleri her makale için bir satır ile ilgili bilgiler içerir.

sysmergepartitioninfoview (Transact-SQL)

Tablo makaleleri bölümleme bilgilerini içerir.

sysmergepublications (Transact-SQL)

Her birleştirme yayın için bir satır içerir.

sysmergeschemaarticles (Transact-SQL)

Saklı yordamlar gibi şema yalnızca makaleleri izler.

sysmergeschemachange (Transact-SQL)

Anlık Görüntü aracı tarafından oluşturulan yayımlanmış makaleleri hakkında bilgi içerir.

sysmergesubscriptions (Transact-SQL)

Her abone için bir satır içerir.

sysmergesubsetfilters (Transact-SQL)

Bölümlenmiş makaleler için birleştirmek filtresi bilgilerini içerir.

Ayrıca,MSsnapshotdeliveryprogress tablo her abonelik veritabanı içinde oluşturulur ve MSsubscription_properties tablo kullanan çekme temelli abonelik her abonelik veritabanı içinde oluşturulur:

Table

Açıklama

MSsnapshotdeliveryprogress (Transact-SQL)

anlık görüntü görüntü uygulandığında abone için başarıyla teslim parçaları dosyalar.Bu veriler, tüm dosyaları oturum sırasında teslim Birleştirme Aracısı başarısız durumda dosyaları teslim devam etmek için kullanılır.

MSsubscription_properties (Transact-SQL)

Çoğaltma aracıları Abone tarafında çalıştırmak için gerekli parametre bilgilerini içerir.