yürütmesp_addmergearticle (Transact-sql)

Varolan bir birleştirme yayını bir makale ekler. Bu saklı yordam, yayını veritabanı üzerinde yayımcı adresindeki yürütülür.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

sp_addmergearticle [ @publication = ] 'publication' 
        , [ @article = ] 'article' 
        , [ @source_object = ] 'source_object' 
    [ , [ @type = ] 'type' ] 
    [ , [ @description = ] 'description' ] 
    [ , [ @column_tracking = ] 'column_tracking' ] 
    [ , [ @status = ] 'status' ] 
    [ , [ @pre_creation_cmd = ] 'pre_creation_cmd' ] 
    [ , [ @creation_script = ] 'creation_script' ] 
    [ , [ @schema_option = ] schema_option ] 
    [ , [ @subset_filterclause = ] 'subset_filterclause' ] 
    [ , [ @article_resolver = ] 'article_resolver' ] 
    [ , [ @resolver_info = ] 'resolver_info' ] 
    [ , [ @source_owner = ] 'source_owner' ] 
    [ , [ @destination_owner = ] 'destination_owner' ] 
    [ , [ @vertical_partition = ] 'vertical_partition' ] 
    [ , [ @auto_identity_range = ] 'auto_identity_range' ] 
    [ , [ @pub_identity_range = ] pub_identity_range ] 
    [ , [ @identity_range = ] identity_range ] 
    [ , [ @threshold = ] threshold ] 
    [ , [ @verify_resolver_signature = ] verify_resolver_signature ] 
    [ , [ @destination_object = ] 'destination_object' ] 
    [ , [ @allow_interactive_resolver = ] 'allow_interactive_resolver' ] 
    [ , [ @fast_multicol_updateproc = ] 'fast_multicol_updateproc' ] 
    [ , [ @check_permissions = ] check_permissions ] 
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @published_in_tran_pub = ] 'published_in_tran_pub' ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
    [ , [ @logical_record_level_conflict_detection = ] 'logical_record_level_conflict_detection' ]
    [ , [ @logical_record_level_conflict_resolution = ] 'logical_record_level_conflict_resolution' ]
    [ , [ @partition_options = ] partition_options ]
    [ , [ @processing_order = ] processing_order ]
    [ , [ @subscriber_upload_options = ] subscriber_upload_options ]
    [ , [ @identityrangemanagementoption = ] 'identityrangemanagementoption' ]
    [ , [ @delete_tracking = ] delete_tracking ]
    [ , [ @compensate_for_errors = ] 'compensate_for_errors' ] 
    [ , [ @stream_blob_columns = ] 'stream_blob_columns' ]

Bağımsız değişkenler

  • @publication='publication'
    Makaleyi içeren Yayını addır. publicationise sysname, hiçbir varsayılan ile.

  • @article='article'
    Makaleyi addır. Adı, yayın içinde benzersiz olmalıdır. articleise sysname, hiçbir varsayılan ile. articleYerel bilgisayarda çalışan olmalıdır Microsoft   SQL Serverve tanımlayıcıları kuralları uymalıdır.

  • @source_object='source_object'
    Yayımlanmak üzere veritabanı nesnesidir. source_objectise sysname, hiçbir varsayılan ile. Birleştirme çoğaltması kullanarak yayımlanabilir nesneleri türleri hakkında daha fazla bilgi için bkz: Verileri ve veritabanı nesnelerini Yayımla.

  • @type='type'
    Yazı türüdür. typeise sysname, varsayılan masa, ve aşağıdaki değerlerden biri olabilir.

    Değer

    Açıklama

    Tablo (varsayılan)

    Tablo şema ve veri. Çoğaltma, çoğaltılacak verileri belirlemek için tabloya izler.

    işlev şema yalnızca

    İşlev yalnızca şema ile.

    görünümü dizine şema

    Dizin oluşturulmuş görünüm yalnızca şema ile.

    yalnızca yordam şema

    Saklı yordam yalnızca şema ile.

    synonym schema only

    Yalnızca şema ile eşanlamlı.

    view schema only

    Yalnızca şema ile görüntüleyin.

  • @description='description'
    Makaleyi açıklamasıdır. descriptionise nvarchar(255), null varsayılan.

  • @column_tracking='column_tracking'
    Sütun düzeyinde izleme ayarıdır. column_trackingise nvarchar(10), false varsayılan. trueIzleme sütun üzerinde dönüyor. falsesütun izlemeyi kapatır ve satır düzeyinde çakışma algılama bırakır. Tablo zaten diğer birleştirme yayınlarda yayımlanmış, aynı sütun değeri bu tabloyu temel alan varolan makaleleri tarafından kullanılan izleme kullanmanız gerekir. Bu parametre, yalnızca tablo makaleleri için özeldir.

    [!NOT]

    Satır izleme için çakışma algılama (varsayılan) kullandıysanız, en fazla 1024 sütun temel tablo içerebilir, ancak böylece en fazla 246 sütun yayımlanmış makale sütun filtre gerekir. Sütun izleme kullanılıyorsa, temel tablo en fazla 246 sütun içerebilir.

  • @status='status'
    Makaleyi durumudur. statusise nvarchar(10), varsayılan unsynced. Eğer aktif, tablo yayımlamak için ilk işleme komut dosyasını çalıştırın. Eğer unsynced, tablo yayımlamak için ilk işlem komut dosyası Snapshot Aracısı çalıştırır sonraki zaman çalıştırılır.

  • @pre_creation_cmd='pre_creation_cmd'
    Tablo anlık uygularken Abone tarafında varsa yapmak için sistemi nedir belirtir. pre_creation_cmdise nvarchar(10), ve aşağıdaki değerlerden biri olabilir.

    Değer

    Açıklama

    hiçbiri

    Tablo zaten abone tarafında varsa, hiçbir işlem yapılmaz.

    Sil

    Alt filtre where yan tümcesinde dayalı bir delete verir.

    damla (varsayılan)

    Yeniden oluşturmayı önce tablo düşünceye. Desteklemek için gereken Microsoft  SQL Server Compactaboneleri.

    kesecek

    Hedef Tablo keser.

  • @creation_script='creation_script'
    Makaleyi abonelik veritabanı oluşturmak için kullanılan bir isteğe bağlı makale şema komut dosyası adını ve yolu olduğunu. creation_scriptise nvarchar(255), null varsayılan.

    [!NOT]

    Oluşturma komut dosyaları değil çalışan SQL Server Compactaboneleri.

  • **@schema_option=**schema_option
    Bir bit eşlem verilen makaleyi şema oluşturma seçeneğinin ise. schema_optionise binary(8)ve | (Bit düzey veya) bir veya daha bu değerlerin çarpımı.

    Değer

    Açıklama

    0x00

    Komut dosyası Snapshot Aracısı tarafından devre dışı bırakır ve tanımlanan sağlanan şema precreation komut dosyası kullanan creation_script.

    0x01

    Nesne oluşturma (create table, create procedure vb.) oluşturur. Bu saklı yordam makaleleri için varsayılan değerdir.

    gerçekleşen

    Karşılık gelen kümelenmiş bir dizin oluşturur. Bu seçeneği ayarlanmamış bile, dizin birincil anahtarlar için ilgili ve önceden yayımlanmış bir tabloda tanımlanmışsa, UNIQUE kısıtlamaları üretilir.

    0x20

    Temel abone veri türlerine dönüştürür kullanıcı tanımlı veri türleri (udt). Olduğunda bir onay veya varsayılan kısıtlama bir udt sütun udt sütun birincil anahtarın parçası değilse veya hesaplanmış bir sütun udt sütun başvuruyorsa, bu seçenek kullanılamaz.

    0x40

    Karşılık gelen kümelendirilmemiş dizinler oluşturur. Bu seçeneği ayarlanmamış bile, dizin birincil anahtarlar için ilgili ve önceden yayımlanmış bir tabloda tanımlanmışsa, UNIQUE kısıtlamaları üretilir.

    0x80

    BİRİNCİL anahtar kısıtlamaları çoğaltır. Kısıtlamayı ilgili tüm dizinler ayrıca çoğaltılır, bile seçenekleri gerçekleşen ve 0x40 etkin değil.

    0x100

    Kullanıcı Tetikleyiciler, bir tablo makale tanımlanmışsa çoğaltır.

    0x200

    FOREIGN key kısıtlamaları çoğaltır. Başvurulan tabloyu yayını bir parçası değilse, tüm yabancı anahtar kısıtlamaları yayımlanmış bir tablo çoğaltılmaz.

    0x400

    check kısıtlamaları çoğaltır.

    0x800

    Varsayılanları çoğaltır.

    0x1000

    Sütun düzeyinde alfabe çoğaltır.

    0x2000

    Genişletilmiş özellikler yayımlanmış makale kaynak nesneyle ilişkili çoğaltır.

    0x4000

    BENZERSİZ kısıtlamaları çoğaltır. Kısıtlamayı ilgili tüm dizinler ayrıca çoğaltılır, bile seçenekleri gerçekleşen ve 0x40 etkin değil.

    0x8000

    Bu seçenek çalıştıran yayımcılar için geçerli değil SQL Server 2005ya da sonraki sürümlerinde.

    0x10000

    Böylece eşitleme sırasında kısıtlamalar zorlanmaz check kısıtlamaları not for REPLICATION çoğaltır.

    0x20000

    Eşitleme sırasında kısıtlamalar zorlanmaz böylece FOREIGN key kısıtlamaları not for REPLICATION çoğaltır.

    0x40000

    Bölümlenmiş tablo veya dizin ile ilişkili filegroups çoğaltır.

    0x80000

    Bölümlenmiş bir tablo için bölüm düzenini çoğaltır.

    0x100000

    Bölümlenmiş bir dizin için bölüm düzenini çoğaltır.

    0x200000

    Çoğaltır, istatistik tablosu.

    0x400000

    Varsayılan bağlar çoğaltır.

    0x800000

    Bağlar çoğaltır kural.

    0x1000000

    Tam metin dizini çoğaltır.

    0x2000000

    xml şema koleksiyonları bağlı xmlsütunlar yinelenmez.

    0x4000000

    Dizinler üzerinde çoğaltır xmlsütun.

    0x8000000

    Zaten mevcut şemalar abone oluşturur.

    0x10000000

    Dönüştüren xmlsütunları ntextabone.

    0x20000000

    Dönüştürür büyük nesne veri türleri (nvarchar(max), varchar(max), ve varbinary(max)) kullanılmaya SQL Server 2005, üzerinde desteklenen veri türleri için SQL Server 2000.

    0x40000000

    İzinleri çoğaltır.

    0x80000000

    Yayını bir parçası olan nesneleri bağımlılıkları bırak dener.

    0x100000000

    Tarih belirtilmemişse FILESTREAM özniteliği çoğaltmak için bu seçeneği kullanın varbinary(max)sütun. Tablolara çoğaltıyorsanız bu seçeneği belirtmezseniz SQL Server 2005aboneleri. Tabloları FILESTREAM sütunları çoğaltılıyor SQL Server 2000aboneleri desteklenmiyor, bu şema seçeneği ayarlanma şekli ne olursa olsun. Ilgili seçeneği görmek 0x800000000.

    0x200000000

    Tarih ve Saat veri türleri dönüştürür (date, time, datetimeoffset, ve datetime2) kullanılmaya SQL Server 2008önceki sürümlerinde desteklenen veri türleri için SQL Server.

    0x400000000

    Veri ve dizinler sıkıştırma seçeneği çoğaltır. Daha fazla bilgi için, bkz. Veri Sıkıştırma.

    0x800000000

    Üzerinde abone kendi filegroup FILESTREAM veri saklamak için bu seçeneği ayarlayın. Bu seçeneği ayarlarsanız, varsayılan filegroup FILESTREAM veri saklanır. Çoğaltma filegroups oluşturmaz; Bu nedenle, bu seçeneği ayarlarsanız, abone adresindeki anlık görüntüsünü uygulamadan önce dosya grubu oluşturmanız gerekir. Anlık görüntüsünü uygulamadan önce nesneleri oluşturma hakkında daha fazla bilgi için bkz: Anlık uygulanmadan önce ve sonra komut dosyalarını yürütme.

    Ilgili seçeneği görmek 0x100000000.

    0x1000000000

    Ortak dil çalışma zamanı (clr) kullanıcı tanımlı türler (UDTs) dönüştürür varbinary(max), çalıştıran aboneleri türü udt sütunları çoğaltılan böylece SQL Server 2005.

    0x2000000000

    Dönüştüren hierarchyidveri türü varbinary(max)böylece türü sütunları hierarchyid, çalıştıran aboneleri çoğaltılan SQL Server 2005. Nasıl kullanılacağı hakkında daha fazla bilgi için hierarchyidyinelenen tablodaki sütunları görmek hierarchyid (Transact-sql).

    0x4000000000

    Filtre uygulanmış herhangi bir tabloyu dizinlerde çoğaltır. Filtre uygulanmış dizinler hakkında daha fazla bilgi için bkz: Filtre uygulanmış dizinler oluşturma.

    0x8000000000

    Dönüştüren geographyve geometryveri türleri varbinary(max)çalışmakta abonelere bu tür sütunları çoğaltılan böylece SQL Server 2005.

    0x10000000000

    Türü sütun dizinlerde çoğaltır geographyve geometry.

    Bu değer boş ise, sistem otomatik-geçerli şema seçeneği makale oluşturur. Varsayılan şema seçeneği açıklamalar bölümünde tablo makale türüne göre seçilen değeri gösterir. Ayrıca, tüm schema_optionher çoğaltma türünü ve yazı tipi için geçerli değerlerdir. Geçerli şema seçeneği açıklamalar, verilen tablo, belirli yazı türü için belirtilen seçenekleri gösterir.

    [!NOT]

    schema_optionParametresi, yalnızca ilk anlık çoğaltma seçenekleri etkiler. Abone yayını şema değişiklikleri çoğaltma ortaya bir kez ilk şema Snapshot Aracısı tarafından üretilen ve Abone tarafında uygulanan, şema değişikliği çoğaltma kurallarına göre ve replicate_ddlBelirtilen parametre ayarı sp_addmergepublication. Daha fazla bilgi için, bkz. Yayını veritabanları üzerinde şeması değişiklikler yapmak.

  • @ subset_filterclause='subset_filterclause'
    Olan bir where yan tümcesi belirtme sözcüğü olmadan tablo makale Yatay süzmek dahil olduğu. subset_filterclauseise nvarchar(1000), boş bir dize varsayılan.

    Önemli notÖnemli

    Performansı düşürmemek için işlev Parametreli satır filtre yan tümceleri, sütun adları gibi uyguladığınız değil öneririz LEFT([MyColumn]) = SUSER_SNAME(). Eğer sen kullanma host_name bir filtre yan tümcesi ve geçersiz değer kullanarak veri türleri dönüştürme olabilir DÖNÜŞTÜRMEK. Bu durum için en iyi yöntemler hakkında daha fazla bilgi için bkz: Bölüm "host_name() değeri geçersiz kılma" in Parametreli satır süzgeçleri.

  • @article_resolver='article_resolver'
    İse tablo makale çakışmaları çözmek için kullanılan com tabanlı çözümleyici veya.net Framework Derleme çağrılan özel iş mantığı tablo makale yürütmek için. article_resolverise varchar(255), null varsayılan. Bu parametre için kullanılabilir değerler listelenmiştir Microsoftözel çözümleyiciler. Sağlanan değer biri değilse, Microsoftçözücüler, SQL Serverbelirtilen çözümleyici ve sistem tarafından sağlanan çözümleyici yerine kullanır. Kullanım sp_enumcustomresolvers mevcut özel çözümleyiciler listesi numaralandırılamadı. Daha fazla bilgi için Business Logic birleştirme eşitleme sırasında çalıştırmave Gelişmiş birleştirme çoğaltma çakışma algılaması ve Çözümlemesi.

  • @resolver_info='resolver_info'
    Özel bir çözümleyici tarafından gerekli olan ek bilgileri belirtmek için kullanılır. Bazı Microsoftçözümleyiciler çözümleyici giriş olarak sağlanan bir sütun gerektirir. resolver_infoise nvarchar(255), null varsayılan. Daha fazla bilgi için, bkz. Microsoft com tabanlı çözümleyiciler.

  • @source_owner='source_owner'
    Sahibinin adı source_object. source_ownerise sysname, null varsayılan. BOŞ ise, geçerli kullanıcının sahibi olduğu varsayılır.

  • @ destination_owner='destination_owner'
    Abonelik veritabanı değilse 'dbo' nesnenin sahibidir. destination_ownerise sysname, null varsayılan. BOŞ ise, 'dbo' sahibi olduğu varsayılır.

  • @ Vertical_partitiontrue='column_filter'
    Sağlar ve sütun bir tablo makale filtre uygulama devre dışı bırakır. vertical_partitionise nvarchar(5)false varsayılan.

    falseorada hiçbir dikey süzme gösterir ve tüm sütunları yayımlar.

    truetüm sütunlar dışında bildirilen birincil anahtar ve ROWGUID sütun temizler. Sütunları kullanarak eklenen sp_mergearticlecolumn.

  • @ auto_identity_rangeidentityrangemanagementoption='automatic_identity_range'
    Sağlar ve otomatik kimlik aralığı işleme için bir yayın oluşturulduğunda, bu tablo makale devre dışı bırakır. auto_identity_rangeise nvarchar(5), false varsayılan. trueOtomatik kimlik aralığı sağlayan işleme, süre falsebunu devre dışı bırakır

    [!NOT]

    auto_identity_rangeonaylanmaz ve yalnızca geriye dönük uyumluluk için sağlanır. Sen-meli kullanma identityrangemanagementoptionkimlik aralığı yönetimi seçeneklerini belirtme. Daha fazla bilgi için, bkz. Kimlik sütunları çoğaltma.

  • **@ pub_identity_range=**pub_identity_range
    Otomatik kimlik aralığı yönetimi kullanıldığında denetimleri sunucu abonelik ile abone kimlik aralığı boyutunu ayrılmış. Bu kimlik aralığı republishing Abone kendi abonelerine tahsis etmek için ayrılmıştır. pub_identity_rangeise bigint, null varsayılan. Eğer bu parametre belirtmelisiniz identityrangemanagementoptionolan autoya auto_identity_rangeolduğunu true.

  • **@identity_range=**identity_range
    Otomatik kimlik aralığı yönetimi kullanıldığında denetimleri için Publisher ve abone kimlik aralığı boyutunu ayrılmış. identity_rangeise bigint, null varsayılan. Eğer bu parametre belirtmelisiniz identityrangemanagementoptionolan autoya auto_identity_rangeolduğunu true.

    [!NOT]

    identity_rangeönceki sürümlerini kullanan aboneleri yeniden yayınlama, kimlik aralığı boyutunu denetler SQL Server.

  • **@threshold=**threshold
    Ne zaman birleştirme aracı yeni bir kimlik aralığı atar denetleyen yüzde değeri. Ne zaman içinde belirtilen değerler yüzdesi thresholdise kullanılan birleştirme Aracısı yeni bir kimlik aralığı oluşturur. thresholdise int, null varsayılan. Eğer bu parametre belirtmelisiniz identityrangemanagementoptionolan autoya auto_identity_rangeolduğunu true.

  • **@ verify_resolver_signature=**verify_resolver_signature
    Dijital imza bir çözümleyici birleştirme çoğaltması kullanarak önce doğrulanıp belirler. verify_resolver_signatureise int, 1 varsayılan.

    0 imza değil doğrulanacağını belirtir.

    1 imza, güvenilir bir kaynaktan olup olmadığını görmek için doğrulanacağını belirtir.

  • @ destination_object='destination_object'
    Abonelik veritabanındaki nesne addır. destination_objectise sysname, bir varsayılan değer ne olur @ source_object. Bu parametre olabilir sadece makale şema-yalnızca makale, saklı yordamlar, görünümler ve UDF'ler gibi olup belirtilen. Belirtilen makale tablo makale, değeri ise @source\_objectdeğeri geçersiz kılar destination_object.

  • @ allow_interactive_resolver='allow_interactive_resolver'
    Etkinleştirir veya bir makale etkileşimli çözümleyici kullanımını devre dışı bırakır. allow_interactive_resolverise nvarchar(5), false varsayılan. trueMakale etkileşimli çözümleyici kullanımını sağlar; falsedevre dışı bırakır.

    [!NOT]

    Etkileşimli çözümleyici tarafından desteklenen SQL Server Compactaboneleri.

  • @ fast_multicol_updateproc='fast_multicol_updateproc'
    Bu parametre onaylanmaz ve komut dosyaları geriye dönük uyumluluk için korunur.

  • **@ check_permissions=**check_permissions
    Birleştirme Aracısı yayımcı değişiklikleri uygular doğrulanır tablo düzeyi izinleri bir bitmap olduğunu. Birleştirme işlemi tarafından kullanılan Publisher giriş/kullanıcı hesabının doğru tablo izinleri yoksa, geçersiz değişiklikleri çakışma kaydedilir. check_permissionsise intve | (Bit düzey veya) bir veya daha aşağıdaki değerler ürün.

    Değer

    Açıklama

    0x00 (varsayılan)

    İzinleri denetlenir.

    gerçekleşen

    Ekleme işlemleri Abone tarafında yapılan UPDATE'ler karşıya önce yayımcı adresindeki izinlerini denetler.

    0x20

    Güncelleştirme işlemlerini Abone tarafında yapılan UPDATE'ler karşıya önce yayımcı adresindeki izinlerini denetler.

    0x40

    Silme işlemleri Abone tarafında yapılan UPDATE'ler karşıya önce yayımcı adresindeki izinlerini denetler.

  • **@ force_invalidate_snapshot=**force_invalidate_snapshot
    Bu saklı yordam tarafından gerçekleştirilen eylemi varolan bir anlık görüntüsünü geçersiz kılabilir kabul eder. force_invalidate_snapshotolan bir bit, varsayılan olarak 0.

    0 bir madde ekleyerek geçersiz olduğu anlık görüntü neden olmaz olduğunu belirtir. Saklı yordam değiştirmek yeni bir anlık görüntü gerektirecek algılarsa, bir hata oluşur ve değişiklik yapılmaz.

    1 bir madde ekleyerek anlık geçersiz neden olabilir ve yeni bir anlık görüntü gerektirecek varolan abonelikleri varsa varolan anlık görüntü geçersiz olarak işaretlenmesi ve oluşturulan yeni bir anlık görüntü için izni verir belirtir. force_invalidate_snapshotayarı 1 varolan bir anlık görüntü yayını bir makale eklerken.

  • @ published_in_tran_pub='published_in_tran_pub'
    Bir birleştirme yayını bir makale de işlem yayında yayımlanır gösterir. published_in_tran_pub ise nvarchar(5), false varsayılan. truemakalede ayrıca işlem yayında yayımlanır belirtir.

  • **@ force_reinit_subscription=**force_reinit_subscription
    Bu saklı yordam tarafından gerçekleştirilen eylemi varolan abonelikleri yeniden gerektirdiğine dikkat eder. force_reinit_subscription olan bir bit, varsayılan olarak 0.

    0 bir madde ekleyerek abonelik yeniden neden olmaz olduğunu belirtir. Saklı yordam değiştirmek varolan abonelikleri yeniden gerektirecek algılarsa, bir hata oluşur ve değişiklik yapılmaz.

    1 birleştirme makale değiştirir anlamına gelir yeniden, varolan abonelikleri neden olur ve abonelik reinitialization yapılmasına izin verir. force_reinit_subscriptionayarı 1 zaman subset_filterclauseParametreli satır filtre belirtir.

  • @ logical_record_level_conflict_detection='logical_record_level_conflict_detection'
    Mantıksal kaydı olan bir makale çakışma algılama düzeyini belirtir. logical_record_level_conflict_detectionise nvarchar(5), false varsayılan.

    trueEğer herhangi bir mantıksal kaydında yapılan değişiklikler bir çakışma algılanacaktır belirtir.

    falseVarsayılan çakışma algılama kullanılan belirtir ile belirtilen column_tracking. Daha fazla bilgi için, bkz. Grup değişiklikleri'mantıksal kayıtları ile ilgili satırları.

    [!NOT]

    Mantıksal kayıtları tarafından desteklenmediğinden SQL Server Compactaboneleri, değeri belirtmeniz gerekir falseiçin logical_record_level_conflict_detectionBu aboneler destek.

  • logical_record_level_conflict_resolution='logical_record_level_conflict_resolution'
    Mantıksal kaydı olan bir makale çakışma çözümleme düzeyini belirtir. logical_record_level_conflict_resolutionise nvarchar(5), false varsayılan.

    truetüm kazanan mantıksal kaydı kaybeden mantıksal kaydın üzerine yazar belirtir.

    falsekazanan satırlar mantıksal kaydı için kısıtlı değil belirtir. Eğer logical_record_level_conflict_detection olan true, sonra logical_record_level_conflict_resolution da ayarlanmalıdır true. Daha fazla bilgi için, bkz. Grup değişiklikleri'mantıksal kayıtları ile ilgili satırları.

    [!NOT]

    Mantıksal kayıtları tarafından desteklenmediğinden SQL Server Compactaboneleri, değeri belirtmeniz gerekir falseiçin logical_record_level_conflict_resolutionBu aboneler destek.

  • **@ partition_options=**partition_options
    Tüm satırlar tek bir bölümünde veya yalnızca bir abonelik ait olduğunda performans iyileştirmeleri sağlayan hangi bölümlere veri makalede, yolunu tanımlar. partition_options ise tinyint, ve aşağıdaki değerlerden biri olabilir.

    Değer

    Açıklama

    0 (varsayılan)

    Filtreleme için makale veya statik veri her bölümü için benzersiz bir alt verim yani değil bir "örtüşen" Bölüm.

    1

    Bölümleri örtüşen ve Abone tarafında yapılan veri düzenleme dili (dml) güncelleştirmeleri bir satırın ait olduğu bölümü değiştiremezsiniz.

    2

    Makale için süzme olmayan örtüşen bölümleri verir, ancak birden çok aboneleri aynı bölüm alabilir.

    3

    Makale için süzme her abonelik için benzersiz olmayan örtüşen bölümleri verir.

    [!NOT]

    Bir makale kaynak tablo zaten başka bir yayında, sonra değeri yayımlanır Eğer partition_options her iki makaleler için aynı olması gerekir.

  • **@processing_order=**processing_order
    Birleştirme yayını makaleleri işlem sırasını gösterir. processing_orderise int, 0 varsayılan. 0 makaleyi sırasız ve başka bir değer bu makale işlem sırasını ordinal değerini temsil eden belirtir. Makaleler en düşükten en yüksek değeri sırayla işlenir. İki makale aynı değeri varsa, makale takma isim sırasına göre işleme sırası belirlenir sysmergearticles sistem tablosu. Daha fazla bilgi için, bkz. Birleştirme makale işlem sırasını belirtme.

  • **@ subscriber_upload_options=**subscriber_upload_options
    Abone ile istemci abonelik sırasında yapılan güncelleştirmeler kısıtlamalarını tanımlar. Daha fazla bilgi için, bkz. Yalnızca karşıdan yükleme makaleleri ile birleştirme çoğaltma performansı en iyi duruma getirme. subscriber_upload_optionsise tinyint, ve aşağıdaki değerlerden biri olabilir.

    Değer

    Açıklama

    0 (varsayılan)

    Kısıtlama yok. Abone tarafında yapılan değişiklikler için yayımcı karşıya.

    1

    Değişiklikleri Abone tarafında izin verilir, ancak yayımcı için karşıya.

    2

    Değişiklikleri Abone tarafında izin verilmez.

    [!NOT]

    Bir makale kaynak tablo zaten başka bir yayında, değeri yayımlanır Eğer subscriber_upload_optionsher iki makaleler için aynı olması gerekir.

  • **@ identityrangemanagementoption=**identityrangemanagementoption
    Kimlik aralığı yönetimi için makale nasıl işlendiğini belirler. identityrangemanagementoptionise nvarchar(10), ve aşağıdaki değerlerden biri olabilir.

    Değer

    Açıklama

    hiçbiri

    Kimlik aralığı yönetimi devre dışı bırakır.

    El ile

    not for REPLICATION kullanarak el ile kimlik aralığı işleme etkinleştirme kimlik sütunu işaretler.

    Otomatik

    Otomatik kimlik aralığı yönetimi belirtir.

    NULL(Default)

    Varsayılan olarak none zaman değerini auto_identity_range değil true.

    Geriye dönük uyumluluk için zaman değerini identityrangemanagementoptionNULL, değeri auto_identity_range denetlenir. Ancak, ne zaman değerini identityrangemanagementoptionnot null, sonra değeri auto_identity_rangegöz ardı edilir. Daha fazla bilgi için, bkz. Kimlik sütunları çoğaltma.

  • @delete_tracking='delete_tracking'
    Siler çoğaltılıp gösterir. delete_tracking ise nvarchar(5), null varsayılan. falsesiler çoğaltılır gösterir ve truesiler, birleştirme çoğaltması normal davranış olduğu çoğaltılır gösterir. Ne zaman delete_trackingayarı false, Abone tarafında silinmiş satır gerekir el ile kaldırılabilir yayımcı ve Satır Yayımcı tarafında silindi gerekir el ile kaldırılabilir abone.

    Önemli notÖnemli

    Ayar delete_trackingiçin falsesonuçları yakınsaması içinde. Bir makale kaynak tablo zaten başka bir yayında, sonra değeri yayımlanır Eğer delete_tracking her iki makaleler için aynı olması gerekir.

    [!NOT]

    delete_trackingseçenekler kullanılarak ayarlanamaz Yeni yayın sihirbazını ya da Yayın özelliklerini iletişim kutusu.

  • @ compensate_for_errors='compensate_for_errors'
    Eşitleme sırasında hataları girildiğinde compensating eylemleri alınır, gösterir. compensate_for_errors is nvarchar(5), false varsayılan. Ayarlandığında true, abone veya Publisher her zaman eşitleme sırasında uygulanamaz değişiklikleri; değişikliği geri almak için eylemleri karşılayan için yol Ancak, bir hata üretir bir hatalı yapılandırılmış abone değişiklikleri diğer abonelere ve yayıncılara geri neden olabilir. falseBu eylemler, ancak hataları telafi hala oturum kadar başarılı değişiklikleri uygulamak tazminat ve sonraki birleştirmesi ile devam ettikçe devre dışı bırakır.

    Önemli notÖnemli

    Etkilenen satır verileri yakınsama dışında hataları gidermek en kısa sürede gibi görünebilir, ancak değişiklikleri uygulanabilir ve veri yakınsama. Bir makale kaynak tablo zaten başka bir yayında, sonra değeri yayımlanır Eğer compensate_for_errors her iki makaleler için aynı olması gerekir.

  • @ stream_blob_columns='stream_blob_columns'
    Bir veri akışı optimizasyonu büyük ikili nesne sütunları çoğaltılıyor kullanıldığını belirtir. stream_blob_columnsise nvarchar(5), false varsayılan. trueOptimizasyon denenecek anlamına gelir. stream_blob_columnsFILESTREAM etkin olduğunda true olarak ayarlanır. Bu en iyi şekilde yapmak ve bellek kullanımını azaltmak için FILESTREAM veri çoğaltmasını sağlar. FILESTREAM BLOB akış kullanmak için makaleleri tablo zorlamak için sp_changemergearticleiçin stream_blob_columnsiçin yanlış.

    Önemli notÖnemli

    Bu bellek optimizasyonu etkinleştirilmesi eşitleme sırasında Birleştirme Aracısı performansını düşürebilir. Bu seçenek, yalnızca megabaytlık veri içeren sütunları çoğaltılıyor olduğunda kullanılmalıdır.

    [!NOT]

    Mantıksal kayıtları gibi bazı birleştirme çoğaltma işlevlerini hala büyük ikili nesneler bile çoğaltılıyor kullanılmasını akışı optimizasyon engelleyebilirsiniz stream_blob_columnsiçin true.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Açıklamalar

sp_addmergearticle birleştirme çoğaltması kullanılır.

Nesneleri yayımlamak, kendi tanımlarına abonelerine kopyalanır. Bir veritabanı nesnesini diğer nesnelerin bir veya daha fazla bağımlı yayımlıyorsanız, tüm başvurulan nesneler yayımlamanız gerekir. Örneğin, bir tablo üzerinde bağlıdır görünüm yayımlarsanız, tablo da yayımlamanız gerekir.

Bir değer belirtirseniz, 3 için partition_options, yalnızca tek bir abonelik her bölüm için bu makalede veri olabilir. Varolan bir aboneliği, ikinci bir abonelik içinde varolan bir aboneliği aynı bölüme yeni abonelik filtreleme kriteri çözümler oluşturduysanız, bırakılır.

3 İçin bir değer belirtirken partition_options, meta verileri temizlenen kadar her Birleştirme Aracısı çalıştırır ve bölümlenmiş anlık daha hızlı bir şekilde sona eriyor. Bu seçeneği kullanırken bölümlenmiş anlık görüntü abone etkinleştirme talep düşünmelisiniz. Daha fazla bilgi için, bkz. Anlık görüntüler için birleştirme yayınları ile parametreli süzgeçleri.

Bir makale ile statik yatay filtre ekleme, kullanarak subset_filterclause, to Makaleler parametreli filtreleri ile varolan bir yayına gerektirir abonelikleri yeniden.

Belirtirken processing_order, bu makale sipariş değerleri arasında boşluklar bırakarak hangi, gelecekte yeni değerleri ayarlamak kolaylaştırır öneririz. Örneğin, Article1, Article2 ve Article3 üç makale varsa, değerini processing_order10, 20, 30, yerine 1, 2 ve 3. Daha fazla bilgi için, bkz. Birleştirme makale işlem sırasını belirtme.

Varsayılan şema seçeneği tablosu

Bu tablo için boş değer belirtilmişse, saklı yordam tarafından ayarlanan varsayılan değer tanımlar schema_option, bağımlı olduğu makale türü.

Makale türü

Şema seçenek değeri

işlev şema yalnızca

0x01

Dizin oluşturulmuş görünüm şema

0x01

yalnızca yordam şema

0x01

Tablo

  • 0x0C034FD1 - SQL Server 2005ve daha sonra yerel mod anlık ile uyumlu yayınlar.

  • 0x08034FF1 - SQL Server 2005ve daha sonra bir karakter modu anlık ile uyumlu yayınlar.

yalnızca görünüm şema

0x01

[!NOT]

Yayını önceki sürümlerini destekliyorsa, SQL Server, varsayılan şema seçeneği masa olan 0x30034FF1.

Geçerli şema seçeneği tablosu

İzin verilen değerler aşağıdaki tabloda açıklanmaktadır schema_optionyazı tipine bağlı.

Makale türü

Şema seçenek değerleri

işlev şema yalnızca

0x01 ve 0x2000

Dizin oluşturulmuş görünüm şema

0x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000, and 0x200000

yalnızca yordam şema

0x01 ve 0x2000

Tablo

Tüm seçenekler.

yalnızca görünüm şema

0x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000, and 0x200000

Örnek

DECLARE @publication AS sysname;
DECLARE @table1 AS sysname;
DECLARE @table2 AS sysname;
DECLARE @table3 AS sysname;
DECLARE @salesschema AS sysname;
DECLARE @hrschema AS sysname;
DECLARE @filterclause AS nvarchar(1000);
SET @publication = N'AdvWorksSalesOrdersMerge'; 
SET @table1 = N'Employee'; 
SET @table2 = N'SalesOrderHeader'; 
SET @table3 = N'SalesOrderDetail'; 
SET @salesschema = N'Sales';
SET @hrschema = N'HumanResources';
SET @filterclause = N'Employee.LoginID = HOST_NAME()';

-- Add a filtered article for the Employee table.
EXEC sp_addmergearticle 
  @publication = @publication, 
  @article = @table1, 
  @source_object = @table1, 
  @type = N'table', 
  @source_owner = @hrschema,
  @schema_option = 0x0004CF1,
  @description = N'article for the Employee table',
  @subset_filterclause = @filterclause;

-- Add an article for the SalesOrderHeader table that is filtered
-- based on Employee and horizontally filtered.
EXEC sp_addmergearticle 
  @publication = @publication, 
  @article = @table2, 
  @source_object = @table2, 
  @type = N'table', 
  @source_owner = @salesschema, 
  @vertical_partition = N'true',
  @schema_option = 0x0034EF1,
  @description = N'article for the SalesOrderDetail table';

-- Add an article for the SalesOrderDetail table that is filtered
-- based on SaledOrderHeader.
EXEC sp_addmergearticle 
  @publication = @publication, 
  @article = @table3, 
  @source_object = @table3, 
  @source_owner = @salesschema,
  @description = 'article for the SalesOrderHeader table', 
  @identityrangemanagementoption = N'auto', 
  @pub_identity_range = 100000, 
  @identity_range = 100, 
  @threshold = 80,
  @schema_option = 0x0004EF1;

-- Add all columns to the SalesOrderHeader article.
EXEC sp_mergearticlecolumn 
  @publication = @publication, 
  @article = @table2, 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Remove the credit card Approval Code column.
EXEC sp_mergearticlecolumn 
  @publication = @publication, 
  @article = @table2, 
  @column = N'CreditCardApprovalCode', 
  @operation = N'drop', 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Add a merge join filter between Employee and SalesOrderHeader.
EXEC sp_addmergefilter 
  @publication = @publication, 
  @article = @table2, 
  @filtername = N'SalesOrderHeader_Employee', 
  @join_articlename = @table1, 
  @join_filterclause = N'Employee.BusinessEntityID = SalesOrderHeader.SalesPersonID', 
  @join_unique_key = 1, 
  @filter_type = 1, 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Add a merge join filter between SalesOrderHeader and SalesOrderDetail.
EXEC sp_addmergefilter 
  @publication = @publication, 
  @article = @table3, 
  @filtername = N'SalesOrderDetail_SalesOrderHeader', 
  @join_articlename = @table2, 
  @join_filterclause = N'SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID', 
  @join_unique_key = 1, 
  @filter_type = 1, 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;
GO

İzinler

Üyelik sysadmin sabit sunucu rolü veya db_owner veritabanı rolü.

Ayrıca bkz.

Başvuru

sp_changemergearticle (Transact-sql)

sp_dropmergearticle (Transact-sql)

eşdeğerdirsp_helpmergearticle (Transact-sql)

Çoğaltma depolanan yordamlar (Transact-sql)

Kavramlar

Bir makale tanımlamak

Verileri ve veritabanı nesnelerini Yayımla

Kimlik sütunları çoğaltma