sp_addmergearticle (Transact-SQL)
İçin varolan bir birleştirme yayın bir makale ekler.Bu saklı yordam, yayın veritabanı üzerinde yayımcı adresindeki yürütülür.
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'
Is the name of the publication that contains the article.publication is sysname, with no default.[ @article= ] 'article'
Adı makale.The name must be unique within the publication.article is sysname, with no default.article must be on the local computer running Microsoft SQL Server, and must conform to the rules for identifiers.[ @source_object= ] 'source_object'
Is the database object to be published.source_object is sysname, with no default.Mektup birleştirme kullanarak yayımlanmış nesne türleri hakkında daha fazla bilgi için çoğaltma, bkz: Yayımlama veri ve veritabanı nesneleri.[ @type= ] 'type'
Is the type of article.type is sysname, with a default of table, and can be one of the following values.Değer
Açıklama
Tablo (varsayılan)
Şema ve veri tablosu.Çoğaltma, çoğaltılacak verileri belirlemek için tablo izler.
işlev şema
İşlev yalnızca şema ile.
dizinli görünümyalnızca şema
Dizin oluşturulmuş görünüm yalnızca şema ile.
proc ş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'
Is a description of the article.description is nvarchar(255), with a default of NULL.[ @column_tracking= ] 'column_tracking'
Is the setting for column-level tracking.column_tracking is nvarchar(10), with a default of FALSE.trueturns on column tracking.false turns off column tracking and leaves conflict detection at the row level.Tablo diğer birleştirme yayınlarda önceden yayınlanmışsa, aynı kullanmalısınız sütun göre bu tabloda varolan makaleleri tarafından kullanılan değeri izleme.Bu parametre, yalnızca tablo makaleleri için özeldir.Not
Satır izleme çakışma algılama (varsayılan) için kullanılan, en fazla 1024 sütun temel tablo içerebilir, ancak sütun filtre, dan makale en fazla 246 sütun yayımlanmış olduğunu.İzleme sütun kullanılıyorsa, en fazla 246 sütun temel tablo içerebilir."İzleme düzey" izleme düzey hakkında daha fazla bilgi için bkz: kısmında Birleştirme çoğaltması nasıl algıladığı ve çakışmaları giderir.
[ @status= ] 'status'
Is the status of the article.status is nvarchar(10), with a default of unsynced.If active, the initial processing script to publish the table is run.If unsynced, the initial processing script to publish the table is run at the next time the Snapshot Agent runs.[ @pre_creation_cmd= ] 'pre_creation_cmd'
Specifies what the system is to do if the table exists at the subscriber when applying the snapshot.pre_creation_cmd is nvarchar(10), and can be one of the following values.Değer
Açıklama
Yok
Tablo zaten abone tarafında Hayır varsa eylem alınır.
Sil
where yan tümce tümce tümcesinde alt küme küme filtre dayalı bir delete verir.
bırak (varsayılan)
Yeniden oluşturmayı önce tablo düşünceye.Required to support Microsoft SQL Server Compact 3.5 SP1 Subscribers.
Kes
Hedef Tablo keser.
[ @creation_script= ] 'creation_script'
Is the path and name of an optional article schema script used to create the article in the subscription database.creation_script is nvarchar(255), with a default of NULL.Not
Oluşturma komut dosyaları değil çalışan SQL Server Compact 3.5 SP1 aboneleri.
[ @schema_option= ] schema_option
Is a bitmap of the schema generation option for the given article.schema_option is binary(8), and can be the | (Bitwise OR) product of one or more of these values.Değer
Açıklama
0x00
Komut dosyası Snapshot Aracısı tarafından devre dışı bırakır ve tanımlanan sağlanan şema önceden oluşturma komut dosyası kullanan creation_script.
0x01
Nesne oluşturma (create table, create procedure vb.) oluşturur.Saklı yordam makaleleri için varsayılan değer budur.
0x10
Karşılık gelen kümelenmiş dizin oluşturur.Bu seçenek ayarlanırsa, birincil anahtar ve benzersiz kısıtlamaları ile ilgili dizinler oluşturulur zaten olmaları durumunda bile yayınlanan üzerinde tanımlı tablo.
0x20 değerli
Temel abone adresindeki veri türleri dönüştürür kullanıcı tanımlı veri türleri (udt).udt sütun parçası ise bir udt sütunundaki onay veya varsayılan kısıtlama olduğunda bu seçenek kullanılamaz birincil anahtar, veya hesaplanan sütun udt sütun başvuruyorsa.
0x40
Karşılık gelen kümelenmemiş dizinler oluşturur.Bu seçenek ayarlanırsa, birincil anahtar ve benzersiz kısıtlamaları ile ilgili dizinler oluşturulur zaten olmaları durumunda bile yayınlanan üzerinde tanımlı tablo.
0x80
PRIMARY key kısıtlamaları çoğaltır.Kısıtlama olarak ilişkili tüm dizinler de çoğaltılır, bile seçenekleri 0x10 ve 0x40 etkin değil.
0x100
Kullanıcı Tetikleyiciler üzerinde bir tablo makale tanımlanmışsa çoğaltır.
0x200
YABANCI anahtar kısıtlamaları çoğaltır.Başvurulan tabloyu yayın bir parçası ise, tüm yabancı anahtar kısıtlamaları yayımlanmış bir tablo çoğaltılmaz.
0x400
Denetim kısıtlamalarını çoğaltır.
0x800
Varsayılanları çoğaltır.
0x1000
Sütun - çoğaltırdüzey harmanlama.
0x2000
Genişletilmiş özellikler yayımlanmış makale ile ilişkili çoğaltır kaynak nesne.
0x4000
BENZERSİZ kısıtlamaları çoğaltır.Kısıtlama olarak ilişkili tüm dizinler de çoğaltılır, bile seçenekleri 0x10 ve 0x40 etkin değil.
0x8000
Bu seçenek çalıştıran yayımcılar için geçerli değil SQL Server 2005 veya daha sonraki sürümleri.
ile
Böylece eşitleme sırasında kısıtlamalar zorlandığı çoğaltma için değil denetim kısıtlamalarını çoğaltır.
0x20000
Böylece eşitleme sırasında kısıtlamalar zorlandığı çoğaltma için değil yabancı anahtar kısıtlamalarını çoğaltır.
0x40000
Bölümlenmiş tablo veya dizin ile ilişkili filegroups çoğaltır.
0x80000
Çoğaltır bölümleme düzeni bölümlenmiş tablo için.
0x100000
Çoğaltır bölümleme düzeni bölümlenmiş dizin için.
0x200000
Çoğaltır tablo istatistikleri.
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ı xml sütunlar yinelenmez.
0x4000000
Dizinler üzerinde çoğaltır xml sütunlar.
0x8000000
Abone üzerinde zaten mevcut tüm şemalar oluşturur.
0x10000000
Dönüştürür xml sütun ntext abone.
0x20000000
Dönüştürür büyük nesne veri türleri (nvarchar(max), varchar(max), ve varbinary(max)) olarak SQL Server 2005 üzerinde desteklenen veri türleri için SQL Server 2000.Bu türleri ile nasıl eşleştirildikleri hakkında daha fazla bilgi için bkz: "eşleme yeni veri türleri için önceki sürümler" Bölüm'de sql Server birden çok sürümünü kullanarak bir çoğaltma topolojisi içinde.
0x40000000
İzinleri çoğaltır.
0x80000000
yayın bir parçası olan nesneleri bağımlılıkları bırak dener.
0x100000000
FILESTREAM öznitelik üzerinde belirtilmişse çoğaltmak için bu seçeneği kullanın varbinary(max) sütunlar.Tablolara çoğaltıyorsanız bu seçenek belirtmek SQL Server 2005 aboneleri.FILESTREAM sütunları olan tablo çoğaltma SQL Server 2000 aboneleri desteklenmiyor, olsun nasıl bu şema seçenek küme.İlgili seçeneği görmek 0x800000000.
0x200000000
Tarih ve saat veri türleri dönüştürür (date, time, datetimeoffset, ve datetime2) olarak SQL Server 2008 önceki sürümlerinde desteklenen veri türleri için SQL Server.Bu türleri ile nasıl eşleştirildikleri hakkında daha fazla bilgi için bkz: "eşleme yeni veri türleri için önceki sürümler" Bölüm'de sql Server birden çok sürümünü kullanarak bir çoğaltma topolojisi içinde.
0x400000000
Veri ve dizinler için sıkıştırma seçeneği çoğaltır.Daha fazla bilgi için bkz: Sıkıştırılmış tablolar ve dizinler oluşturma.
0x800000000
Abone adresindeki kendi dosya grubu üzerinde FILESTREAM verileri saklamak için bu seçeneği ayarlayın.Bu seçenek ise küme, FILESTREAM veri varsayılan dosya grubu üzerinde saklanır.Çoğaltma, dosya gruplarını oluşturun; Bu nedenle, sizin küme anlık görüntü abone adresindeki uygulamadan önce bu seçeneği, dosya grubu oluşturmanız gerekir.anlık görüntü görüntüsünü uygulamadan önce nesneleri oluşturma hakkında daha fazla bilgi için bkz: Önce ve sonra bir Snapshot uygulanan komut dosyalarını çalıştırma.
İlgili 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) türü udt sütunları çoğaltılan çalıştıran aboneleri için böylece SQL Server 2005.
0x2000000000
Dönüştürür hierarchyid veri türü varbinary(max) böylece türündeki sütunlar hierarchyid çoğaltılan çalıştıran aboneleri için SQL Server 2005.Nasıl kullanılacağı hakkında daha fazla bilgi için hierarchyid sütunları Çoğaltılan tablolarda görmek hierarchyid (Transact-SQL).
0x4000000000
Herhangi bir filtre uygulanmış dizinler üzerinde çoğaltır tablo.Filtre uygulanmış dizinler hakkında daha fazla bilgi için bkz: Filtre uygulanmış dizin tasarım yönergeleri.
0x8000000000
Dönüştürür geography ve geometry veri türleri varbinary(max) sütunların bu türleri çoğaltılan çalıştıran aboneleri için böylece SQL Server 2005.
0x10000000000
Türü sütun dizinlerde çoğaltır geography ve geometry.
Bu değer null ise sistem otomatik-bir makale geçerli şema seçeneği oluşturur.The Default Schema Option table in the Remarks section shows the value that is chosen based upon the article type.Ayrıca, tüm schema_option değerler geçerli her tür çoğaltma ve makale türü.The Valid Schema Option table given in the Remarks shows the options that can be specified for a given article type.
Not
The schema_option parameter only affects replication options for the initial snapshot.Çoğaltma yayın şema değişikliklerinin aboneye şema değişikliği çoğaltma kurallarına göre ortaya kere başlangıç şeması Anlık Görüntü Aracısı tarafından üretilen ve Abone tarafında uygulanan ve replicate_ddl öğesinde belirtilen parametre ayarı sp_addmergepublication.Daha fazla bilgi için bkz: Yayını veritabanları üzerinde şeması değişiklikler yapma.
[ @subset_filterclause= ] 'subset_filterclause'
Is a WHERE clause specifying the horizontal filtering of a table article without the word WHERE included.subset_filterclause is of nvarchar(1000), with a default of an empty string.Önemli Performansı düşürmemek için işlev parametreli satır filtresi yan tümcesi, sütun adları gibi uygulanacağını değil öneririz LEFT([MyColumn]) = SUSER_SNAME().Kullanırsanız, host_name filtre yan tümce tümce tümce ve geçersiz kılma host_name değer veri türleri kullanarak dönüştürmek olabilir DÖNÜŞTÜRMEK.Bunun için en iyi yöntemler hakkında daha fazla bilgi için durum, "host_name() değeri geçersiz kılma" bölümüne bakın in Parametreli satır filtreleri.
[ @article_resolver= ] 'article_resolver'
Is the COM-based resolver used to resolve conflicts on the table article or the .NET Framework assembly invoked to execute custom business logic on the table article.article_resolver is varchar(255), with a default of NULL.Bu parametre için kullanılabilir değerleri listelenen Microsoft özel çözümleyiciler.Sağlanan değer aşağıdakilerden biri ise Microsoft çözücüler, SQL Server kullandığı belirtilen çözümleyici, sistem tarafından sağlanan çözümleyici.Use sp_enumcustomresolvers kullanılabilen özel çözümleyiciler listesi numaralandırılamadı.Daha fazla bilgi için bkz: Business Logic birleştirme eşitleme sırasında çalıştırma ve 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.Some of the Microsoft Resolvers require a column provided as input to the resolver.resolver_info is nvarchar(255), with a default of NULL.Daha fazla bilgi için bkz: Microsoft com tabanlı çözümleyiciler.[ @source_owner= ] 'source_owner'
Is the name of the owner of the source_object.source_owner is sysname, with a default of NULL.BOŞ ise, geçerli kullanıcının sahip olduğu varsayılır.[ @destination_owner= ] 'destination_owner'
Is the owner of the object in the subscription database, if not 'dbo'.destination_owner is sysname, with a default of NULL.null, 'dbo' sahibi olduğu kabul edilir.[ @vertical_partition= ] 'column_filter'
Enables and disables column filtering on a table article.vertical_partition is nvarchar(5) with a default of FALSE.false dikey filtreleme gösterir ve tüm sütunları yayımlar.
true tüm sütunları birincil anahtar dışında ve ROWGUID sütunlarının temizler.Sütunları kullanarak eklenen sp_mergearticlecolumn.
[ @auto_identity_range= ] 'automatic_identity_range'
Enables and disables automatic identity range handling for this table article on a publication at the time it is created.auto_identity_range is nvarchar(5), with a default of FALSE.true enables automatic identity range handling, while false disables it.Not
auto_identity_range onaylanmaz ve yalnızca geriye dönük uyumluluk için sağlanır.Kullanmanız gereken identityrangemanagementoption belirtme kimlik aralık yönetimi seçenekleri.Daha fazla bilgi için bkz: Kimlik sütunları çoğaltılıyor.
[ @pub_identity_range= ] pub_identity_range
Bir sunucuyla bir abone için ayrılan kimlik aralık boyutunu denetler abonelik otomatik kimlik aralık yönetimi ne zaman kullanılır.This identity range is reserved for a republishing Subscriber to allocate to its own Subscribers.pub_identity_range is bigint, with a default of NULL.Size bu parametre belirtmelisiniz identityrangemanagementoption olan auto veya auto_identity_range olan true.[ @identity_range= ] identity_range
Controls the identity range size allocated both to the Publisher and to the Subscriber when automatic identity range management is used.identity_range is bigint, with a default of NULL.Size bu parametre belirtmelisiniz identityrangemanagementoption olan auto veya auto_identity_range olan true.Not
identity_rangeönceki sürümlerini kullanan aboneleri yeniden yayınlama adresindeki kimlik aralık boyutunu denetler SQL Server.
[ @threshold= ] threshold
Yüzde değeri ne zaman Birleştirme Aracısı yeni bir kimlik aralık atar denetler.When the percentage of values specified in threshold is used, the Merge Agent creates a new identity range.threshold is int, with a default of NULL.Size bu parametre belirtmelisiniz identityrangemanagementoption olan auto veya auto_identity_range olan true.[ @verify_resolver_signature= ] verify_resolver_signature
Specifies if a digital signature is verified before using a resolver in merge replication.verify_resolver_signature is int, with a default of 1.0 imza doğrulanmaz belirtir.
1 imza güvenilir bir olup olmadığını görmek için doğrulanacağını belirtir kaynak.
[ @destination_object= ] 'destination_object'
Is the name of the object in the subscription database.destination_object is sysname, with a default value of what is in @source_object.Bu parametre yalnızca makale UDF'leri, görünümler ve saklı yordamlar gibi şema-yalnızca makale, belirtilen.Belirtilen makalede değerinde bir tablo makale olup @source_object değeri geçersiz kılar destination_object.[ @allow_interactive_resolver= ] 'allow_interactive_resolver'
Enables or disables the use of the Interactive Resolver on an article.allow_interactive_resolver is nvarchar(5), with a default of FALSE.true enables the use of the Interactive Resolver on the article; false disables it.Not
Etkileşimli çözümleyici tarafından desteklenen değil SQL Server Compact 3.5 SP1 aboneleri.
[ @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ı için Yayımcı değişiklikleri uygular doğrulanır tablo düzey izinleri eşlemdir.If the Publisher login/user account used by the merge process does not have the correct table permissions, the invalid changes are logged as conflicts.check_permissions is int, and can be the | (Bitwise OR) product of one or more of the following values.Değer
Açıklama
0x00 (varsayılan)
İzinleri denetlenir.
0x10
Abone tarafında yapılan INSERT işlemlerini karşıya önce yayımcı adresindeki izinlerini denetler.
0x20 değerli
Abone tarafında yapılan güncelleştirme işlemlerini karşıya önce yayımcı adresindeki izinlerini denetler.
0x40
Abone tarafında yapılan silme işlemlerini karşıya önce yayımcı adresindeki izinlerini denetler.
[ @force_invalidate_snapshot= ] force_invalidate_snapshot
Acknowledges that the action taken by this stored procedure may invalidate an existing snapshot.force_invalidate_snapshot is a bit, with a default of 0.0 bir makale ekleme anlık görüntü geçersiz olarak neden olmaz olduğunu belirtir.Saklı yordam, yeni bir anlık görüntü gerektirecek bir değişiklik algılarsa, bir hata oluşur ve değişiklik yapılmaz.
1 specifies that adding an article may cause the snapshot to be invalid, and if there are existing subscriptions that require a new snapshot, gives permission for the existing snapshot to be marked as obsolete and a new snapshot generated.force_invalidate_snapshot is set to 1 when adding an article to a publication with an existing snapshot.
[ @published_in_tran_pub= ] 'published_in_tran_pub'
Indicates that an article in a merge publication is also published in a transactional publication.published_in_tran_pub is nvarchar(5), with a default of FALSE.true specifies that the article is also published in a transactional publication.[ @force_reinit_subscription= ] force_reinit_subscription
Acknowledges that the action taken by this stored procedure may require existing subscriptions to be reinitialized.force_reinit_subscription is a bit, with a default of 0.0 bir makale eklemek değil neden belirtir abonelik yeniden için.Saklı yordam yeniden için varolan abonelikleri değişikliği gerektirecek algılarsa, bir hata oluşur ve değişiklik yapılmaz.
1 means that changes to the merge article causes existing subscriptions to be reinitialized, and gives permission for the subscription reinitialization to occur.force_reinit_subscription is set to 1 when subset_filterclause specifies a parameterized row filter.
[ @logical_record_level_conflict_detection= ] 'logical_record_level_conflict_detection'
Specifies the level of conflict detection for an article that is a member of a logical record.logical_record_level_conflict_detection is nvarchar(5), with a default of FALSE.true değişiklikler içinde herhangi bir yerde yapılırsa çakışma algılanacaktır belirtir mantıksal kayıt.
falseVarsayılan çakışma algılama belirleyen belirtildiği gibi column_tracking.Daha fazla bilgi için bkz: Değişiklikleri'mantıksal kayıtları ile ilgili satırları gruplandırma.
Not
Mantıksal kayıtları tarafından desteklenen değil çünkü SQL Server Compact 3.5 SP1 aboneleri, belirtmeniz gerekir değeri false için logical_record_level_conflict_detection desteklemek bu aboneler.
[ @logical_record_level_conflict_resolution= ] 'logical_record_level_conflict_resolution'
Specifies the level of conflict resolution for an article that is a member of a logical record.logical_record_level_conflict_resolution is nvarchar(5), with a default of FALSE.true tüm kazanan mantıksal kayıt kaybeden mantıksal kaydın üzerine yazılacağını belirtir.
false kazanan satırlar mantıksal kayıt için kısıtlı belirtir.If logical_record_level_conflict_detection is true, then logical_record_level_conflict_resolution must also be küme to true.Daha fazla bilgi için bkz: Değişiklikleri'mantıksal kayıtları ile ilgili satırları gruplandırma.
Not
Mantıksal kayıtları tarafından desteklenen değil çünkü SQL Server Compact 3.5 SP1 aboneleri, belirtmeniz gerekir değeri false için logical_record_level_conflict_resolution desteklemek bu aboneler.
[ @partition_options= ] partition_options
Defines the way in which data in the article is partitioned, which enables performance optimizations when all rows belong in only one partition or in only one subscription.partition_options is tinyint, and can be one of the following values.Değer
Açıklama
0 (varsayılan)
Filtre uygulama makale statik veya benzersiz verilerin alt küme küme küme kümesini her bölüm için yani verim değil, bir "örtüşen" Bölüm.
1
Çakışan bölümler, ve veri işleme dili Abone tarafında yapılan (dml) güncelleştirmeleri bir satırın ait olduğu bölümü değiştirin.
2
Makale için süzme örtüşmeyen 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ın sonra değeri yayımlanır, partition_options olması gerekir aynı iki makaleler.
[ @processing_order= ] processing_order
Indicates the processing order of articles in a merge publication.processing_order is int, with a default of 0.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 düşükten en yüksek değere işlenir.İki makaleleri aynı değeri içeriyorsa, işleme sırası makale takma ad sırasına göre belirlenen sysmergearticles sistem tablo.Daha fazla bilgi için bkz: Birleştirme makaleleri işlem sırasını belirtme.[ @subscriber_upload_options= ] subscriber_upload_options
Bir istemci ile bir abone adresindeki yapılan güncelleştirmeler üzerindeki kısıtlamaları tanımlar abonelik.For more information, see Yalnızca karşıdan yükleme makaleleri ile birleştirme çoğaltma performansı en iyi duruma getirme.subscriber_upload_options is tinyint, and can be one of the following values.Değer
Açıklama
0 (varsayılan)
Kısıtlama yoktur.Abone tarafında yapılan değişiklikler için yayımcı karşıya.
1
Değişiklikleri Abone tarafında izin verilir, ancak bunlar için yayımcı karşıya.
2
Değişiklikleri Abone tarafında izin verilmez.
Not
Bir makale kaynak tablo zaten başka bir yayımlanır, yayın, değeri subscriber_upload_options olması gerekir aynı iki makaleler.
[ @identityrangemanagementoption= ] identityrangemanagementoption
Specifies how identity range management is handled for the article.identityrangemanagementoption is nvarchar(10), and can be one of the following values.Değer
Açıklama
Yok
Kimlik aralık yönetimi devre dışı bırakır.
Elle
İşaretleri kimlik sütunu not for REPLICATION kullanarak el ile kimlik aralık işleme etkinleştirin.
otomatik
Otomatik kimlik aralığı yönetimi belirtir.
Null(default)
Defaults to nonewhen the value of auto_identity_range is not true.
Geriye doğru uyumluluk için değeri identityrangemanagementoption değeri null olan auto_identity_range denetlenir.Ancak, ne zaman değeri identityrangemanagementoption not null, sonra değeri olan auto_identity_range göz ardı edilir.Daha fazla bilgi için bkz: Kimlik sütunları çoğaltılıyor.
[ @delete_tracking= ] 'delete_tracking'
Indicates whether deletes are replicated.delete_tracking is nvarchar(5), with a default of TRUE.false indicates that deletes are not replicated, and true indicates that deletes are replicated, which is the usual behavior for merge replication.Zaman delete_tracking olarak küme false, silinen abone adresindeki satırları el ile kaldırılmalıdır, yayımcı adresindeki ve Publisher silinmiş satırları el ile kaldırılmalıdır abone.Önemli Ayar delete_tracking için false içinde olmayan sonuçlar-yakınsama.Bir makale kaynak tablo zaten başka bir yayın sonra değeri yayımlanır, delete_tracking olması gerekir aynı iki makaleler.
Not
delete_trackingseçenekleri olamaz küme kullanarak Yeni Yayın Sihirbazı'nı veya Publication Properties iletişim kutusu.
[ @compensate_for_errors= ] 'compensate_for_errors'
Indicates if compensating actions are taken when errors are encountered during synchronization.compensate_for_errors is nvarchar(5), with a default of FALSE.When set to true, changes that cannot be applied at a Subscriber or Publisher during synchronization always lead to compensating actions to undo the change; however, one incorrectly configured Subscriber that generates an error can cause changes at other Subscribers and Publishers to be undone.false disables these compensating actions, however, the errors are still logged as with compensation and subsequent merges continues to attempt to apply the changes until successful.Not
For pull subscriptions at Subscribers running Microsoft SQL Server 2000 version 8.00.858 and earlier (which includes SP3), compensating actions still occur even with compensate_for_errors set to false.
Önemli Etkilenen satırlardaki verileri hataları gidermek gibi yakınsama yetersiz olması gibi görünse de, değişikliklerin uygulanması ve veri yakınsama.Bir makale kaynak tablo zaten başka bir yayın sonra değeri yayımlanır, compensate_for_errors olması gerekir aynı iki makaleler.
[ @stream_blob_columns= ] 'stream_blob_columns'
Specifies that a data stream optimization be used when replicating binary large object columns.stream_blob_columns is nvarchar(5), with a default of FALSE.true means that the optimization will be attempted.Önemli Bu bellek optimizasyonu etkinleştirilmesi eşitleme sırasında Birleştirme Aracısı performansını düşürebilir.Bu seçenek yalnızca verileri içeren sütunları çoğaltılıyor olduğunda kullanılmalıdır.
Not
Mantıksal kayıtları gibi belirli birleştirme çoğaltma işlevlerini hala ikili büyük nesneler bile çoğaltma yapılırken kullanılmasını akış iyileştirme engelleyebilirsiniz stream_blob_columns küme için true.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Açıklamalar
sp_addmergearticle birleştirmede kullanılan çoğaltma.
Nesneleri yayımladığınızda, bunların tanımları abonelere kopyalanır.Bağlı bir veya daha çok diğer nesnelerin bir veritabanı nesnesini yayın yapıyorsanız, tüm başvurulan nesneler yayımlamanız gerekir.Örneğin, bir tablo üzerinde bağlıdır bir görünüm yayımlarsanız, tablo da yayımlamanız gerekir.
Bir değer belirtirseniz, 3 için partition_options, veri her bölüm için yalnızca tek bir abonelik olabilirBu makale. Varolan bir aboneliği, ikinci bir abonelik filtreleme ölçütü yeni abonelik için varolan bir aboneliği aynı bölüme çözümler oluşturulursa, bırakılır.
3 İçin bir değer belirtmek için partition_options, meta veriler Temizlenen her Birleştirme Aracısı çalıştırır ve bölümlenmiş anlık görüntü daha hızlı bir şekilde sona erecek.Bu seçeneği kullanırken, bölümlenmiş anlık görüntü abone etkinleştirme istenen göz önünde bulundurmalısınız.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 bir filtre ekleme, kullanarak subset_filterclause, varolan bir yayın filtreleri parametreli makaleleri ile abonelikler yeniden gerektirir.
Belirtirken processing_order, makalede sipariş değerleri arasında boşluklar bırakarak hangi kolaylaştırır öneririz küme yeni değerler gelecek.Üç makaleleri Article1, Article2 ve Article3 varsa, örneğin, küme processing_order 10, 20, 30, yerine 1, 2, ve 3.Daha fazla bilgi için bkz: Birleştirme makaleleri işlem sırasını belirtme.
Varsayılan şema seçeneği tablosu
Bu tablo için boş bir değer belirtilmişse saklı yordam tarafından küme varsayılan değeri tanımlar schema_option, hangi bağlıdır makale türü.
Makale türü |
Şema seçenek değeri |
---|---|
işlev şema |
0x01 |
dizinli görünüm şema |
0x01 |
proc şema |
0x01 |
tablo |
|
Yalnızca Görünüm şema |
0x01 |
Not
yayın önceki sürümlerini destekliyorsa, SQL Server, varsayılan şema seçeneği için Tablo olan 0x30034FF1.
Geçerli şema seçeneği tablosu
Aşağıdaki tablo izin verilen değerler açıklanır schema_option göre makale türü.
Makale türü |
Şema seçenek değerleri |
---|---|
işlev şema |
0x01 ve 0x2000 |
dizinli görünüm şema |
0x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000, and 0x200000 |
proc ş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 gerektiren sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü.
Ayrıca bkz.