sp_addarticle (Transact-SQL)
Bir makale oluşturur ve ekler bir yayın.Bu saklı yordam, yayın veritabanı üzerinde yayımcı adresindeki yürütülür.
Sözdizimi
sp_addarticle [ @publication = ] 'publication'
, [ @article = ] 'article'
[ , [ @source_table = ] 'source_table' ]
[ , [ @destination_table = ] 'destination_table' ]
[ , [ @vertical_partition = ] 'vertical_partition' ]
[ , [ @type = ] 'type' ]
[ , [ @filter = ] 'filter' ]
[ , [ @sync_object= ] 'sync_object' ]
[ , [ @ins_cmd = ] 'ins_cmd' ]
[ , [ @del_cmd = ] 'del_cmd' ]
[ , [ @upd_cmd = ] 'upd_cmd' ]
[ , [ @creation_script = ] 'creation_script' ]
[ , [ @description = ] 'description' ]
[ , [ @pre_creation_cmd = ] 'pre_creation_cmd' ]
[ , [ @filter_clause = ] 'filter_clause' ]
[ , [ @schema_option = ] schema_option ]
[ , [ @destination_owner = ] 'destination_owner' ]
[ , [ @status = ] status ]
[ , [ @source_owner = ] 'source_owner' ]
[ , [ @sync_object_owner = ] 'sync_object_owner' ]
[ , [ @filter_owner = ] 'filter_owner' ]
[ , [ @source_object = ] 'source_object' ]
[ , [ @artid = ] article_ID OUTPUT ]
[ , [ @auto_identity_range = ] 'auto_identity_range' ]
[ , [ @pub_identity_range = ] pub_identity_range ]
[ , [ @identity_range = ] identity_range ]
[ , [ @threshold = ] threshold ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @use_default_datatypes = ] use_default_datatypes
[ , [ @identityrangemanagementoption = ] identityrangemanagementoption ]
[ , [ @publisher = ] 'publisher' ]
[ , [ @fire_triggers_on_snapshot = ] 'fire_triggers_on_snapshot' ]
Bağımsız değişkenler
[ @publication = ] 'publication'
İçeren yayın adı makale.The name must be unique in the database.publication is sysname, with no default.[ @article = ] 'article'
Adı makale.The name must be unique within the publication.article is sysname, with no default.[ @source_table = ] 'source_table'
Bu parametre onaylanmaz; kullanın source_object bunun yerine.Bu parametre yalnızca geriye dönük uyumluluk için desteklenir SQL Server 6.5.Bu parametre, Oracle yayımcılar için desteklenmiyor.
[ @destination_table = ] 'destination_table'
Is the name of the destination (subscription) table, if different from source_tableor the stored procedure.destination_table is sysname, with a default of NULL, which means that source_table equals destination_table*.*[ @vertical_partition = ] 'vertical_partition'
Enables and disables column filtering on a table article.vertical_partition is nchar(5), with a default of FALSE.yanlış dikey filtreleme gösterir ve tüm sütunları yayımlar.
doğru tüm sütunları birincil anahtar dışında hiçbir varsayılan ile Null olabilecek sütunları ve benzersiz anahtar sütunları temizler.Sütunları kullanarak eklenen sp_articlecolumn.
[ @type = ] 'type'
Is the type of article.type is sysname, and can be one of the following values.Değer
Açıklama
toplu şema
Toplama işlev yalnızca şema ile.
işlev şema
İşlev yalnızca şema ile.
dizinli görünüm logbased
dizinli görünüm günlük tabanlı makale.Oracle yayımcılar için desteklenmiyor.Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur.
dizinli görünüm logbased manualboth
El ile filtre ve el ile görünümü ile günlük tabanlı dizinli görünüm makale.Bu seçenek, hem de belirtmenizi gerektirir sync_object ve filter parametreleri.Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur.Oracle yayımcılar için desteklenmiyor.
dizinli görünüm logbased manualfilter
El ile filtre ile dizinli görünüm günlük tabanlı makale.Bu seçenek, hem de belirtmenizi gerektirir sync_object ve filter parametreleri.Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur.Oracle yayımcılar için desteklenmiyor.
dizinli görünüm logbased manualview
El ile görünümü ile günlük tabanlı dizinli görünüm makale.Bu seçenek, belirtmenizi gerektirir sync_object parametresi.Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur.Oracle yayımcılar için desteklenmiyor.
dizinli görünüm şema
Dizin oluşturulmuş görünüm yalnızca şema ile.Bu tür makale, temel tablo da yayımlanması gerekir.
logbased (varsayılan)
Günlük tabanlı makale.
logbased manualboth
El ile filtre ve el ile görünümü ile günlük tabanlı makale.Bu seçenek, hem de belirtmenizi gerektirir sync_object ve filter parametreleri.Oracle yayımcılar için desteklenmiyor.
logbased manualfilter
El ile filtre ile günlük tabanlı makale.Bu seçenek, hem de belirtmenizi gerektirir sync_object ve filter parametreleri.Oracle yayımcılar için desteklenmiyor.
logbased manualview
El ile görünümü ile günlük tabanlı makale.Bu seçenek, belirtmenizi gerektirir sync_object parametresi.Oracle yayımcılar için desteklenmiyor.
yordam exec
Saklı yordam yürütme tüm abonelere kopyalar makale.Oracle yayımcılar için desteklenmiyor.Bu seçeneği kullanmanızı öneririz seri hale getirilebilir yordam exec yerine yordam exec.Daha fazla bilgi için bkz: "Türleri, saklı yordamı yürütme makaleleri" bölümü in İşlem çoğaltma yayımlama saklı yordamı yürütme.
proc şema
Yordam yalnızca şema ile.Oracle yayımcılar için desteklenmiyor.
seri hale getirilebilir yordam exec
Yürütülmesini çoğaltır saklı yordam , yalnızca seri hale getirilebilir bir işlem bağlamında yürütülür.Oracle yayımcılar için desteklenmiyor.
Yalnızca Görünüm şema
Yalnızca şema ile görüntüleyin.Oracle yayımcılar için desteklenmiyor.Bu seçeneği kullanırken, temel tablo da yayımlamanız gerekir.
[ @filter = ] 'filter'
Is the stored procedure (created with FOR REPLICATION) used to filter the table horizontally.filter is nvarchar(386), with a default of NULL.sp_articleview and sp_articlefilter must be executed manually to create the view and filter stored procedure.null, filtre yordamını değil oluşturulur (saklı yordam el ile oluşturulan varsayar).[ @sync_object = ] 'sync_object'
Is the name of the table or view used for producing the data file used to represent the snapshot for this article.sync_object is nvarchar(386), with a default of NULL.BOŞ ise, sp_articleview otomatik olarak çıkış dosyası oluşturmak için kullanılan görünümü oluşturmak için verilir.Tüm sütunları ile ekledikten sonra böyle sp_articlecolumn.BOŞ değil ise, bir görünüm değil oluşturulan (Görünüm el ile oluşturulan varsayar).[ @ins_cmd = ] 'ins_cmd'
Is the replication command type used when replicating inserts for this article.ins_cmd is nvarchar(255), and can be one of the following values.Değer
Açıklama
HİÇBİRİ
Hayır eylem alınır.
Çağrı sp_MSins_tablo (varsayılan)
- veya -
Çağrı custom_stored_procedure_name
Aramaları bir saklı yordam Abone tarafında yürütülecek.To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article.custom_stored_procedure is the name of a user-created stored procedure.sp_MSins_table contains the name of the destination table in place of the _table part of the parameter.Zaman destination_owner belirtilen, e için hedef tablo adı.Örneğin ProductCategory tablo sahibi Üretim şema abone adresindeki parametresi olacak CALL sp_MSins_ProductionProductCategory.Bir eşler arası çoğaltma topolojisi makale için _table eklenmiş bir GUID değeri.Belirtme custom_stored_procedure desteklenmez güncelleştirme aboneleri.
sql veya null
INSERT deyim çoğaltır.INSERT deyim makale yayımlanmış tüm sütunlar için değerleri sağlanmıştır.Bu komut ekler üzerinde çoğaltılır:
INSERT INTO <table name> VALUES (c1value, c2value, c3value, ..., cnvalue)
Daha fazla bilgi için bkz: Değişiklikleri için işlemsel makaleleri nasıl yayılma belirtme.
[ @del_cmd =] 'del_cmd'
Is the replication command type used when replicating deletes for this article.del_cmd is nvarchar(255), and can be one of the following values.Değer
Açıklama
HİÇBİRİ
Hayır eylem alınır.
CALLsp_MSdel_table (default)
- veya -
Çağrı custom_stored_procedure_name
Aramaları bir saklı yordam Abone tarafında yürütülecek.To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article.custom_stored_procedure is the name of a user-created stored procedure.sp_MSdel_table contains the name of the destination table in place of the _table part of the parameter.Zaman destination_owner belirtilen, e için hedef tablo adı.Örneğin ProductCategory tablo sahibi Üretim şema abone adresindeki parametresi olacak CALL sp_MSdel_ProductionProductCategory.Bir eşler arası çoğaltma topolojisi makale için _table eklenmiş bir GUID değeri.Belirtme custom_stored_procedure desteklenmez güncelleştirme aboneleri.
xcall sp_MSdel_tablo
- veya -
xcall custom_stored_procedure_name
Aramaları bir saklı yordam xcall stil parametreleri alma.Bu çoğaltma yöntem kullanmak için schema_option otomatik olarak oluşturulmasını belirtmek için saklı yordam, veya belirtilen saklı yordam hedef veritabanındaki her abone makale.Kullanıcı tarafından oluşturulan bir saklı yordam belirterek aboneleri güncelleştirmek için izin verilmez.
sql veya null
delete deyim çoğaltır.delete deyim sağlanan tüm birincil anahtar sütun değerler.Bu komut üzerinde siler çoğaltılır:
DELETE FROM <table name> WHERE pkc1 = pkc1value AND pkc2 = pkc2value AND pkcn = pkcnvalue
Daha fazla bilgi için bkz: Değişiklikleri için işlemsel makaleleri nasıl yayılma belirtme.
[ @upd_cmd =] 'upd_cmd'
Is the replication command type used when replicating updates for this article.upd_cmd is nvarchar(255), and can be one of the following values.Değer
Açıklama
HİÇBİRİ
Hayır eylem alınır.
Sp_MSupd_ calltablo
- veya -
Çağrı custom_stored_procedure_name
Aramaları bir saklı yordam Abone tarafında yürütülecek.Bu çoğaltma yöntem kullanmak için schema_option otomatik olarak oluşturulmasını belirtmek için saklı yordam, veya belirtilen saklı yordam hedef veritabanındaki her abone makale.
mcall sp_MSupd_tablo
- veya -
mcall custom_stored_procedure_name
Aramaları bir saklı yordam mcall stil parametreleri alma.To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article.custom_stored_procedure is the name of a user-created stored procedure.sp_MSupd_table contains the name of the destination table in place of the _table part of the parameter.Zaman destination_owner belirtilen, e için hedef tablo adı.Örneğin ProductCategory tablo sahibi Üretim şema abone adresindeki parametresi olacak MCALL sp_MSupd_ProductionProductCategory.Bir eşler arası çoğaltma topolojisi makale için _table eklenmiş bir GUID değeri.Kullanıcı tarafından oluşturulan bir saklı yordam belirterek aboneleri güncelleştirmek için izin verilmez.
scall sp_MSupd_tablo (varsayılan)
- veya -
scall custom_stored_procedure_name
Aramaları bir saklı yordam scall stil parametreleri alma.To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article.custom_stored_procedure is the name of a user-created stored procedure.sp_MSupd_table contains the name of the destination table in place of the _table part of the parameter.Zaman destination_owner belirtilen, e için hedef tablo adı.Örneğin ProductCategory tablo sahibi Üretim şema abone adresindeki parametresi olacak SCALL sp_MSupd_ProductionProductCategory.Bir eşler arası çoğaltma topolojisi makale için _table eklenmiş bir GUID değeri.Kullanıcı tarafından oluşturulan bir saklı yordam belirterek aboneleri güncelleştirmek için izin verilmez.
xcall sp_MSupd_tablo
- veya -
xcall custom_stored_procedure_name
Aramaları bir saklı yordam xcall stil parametreleri alma.Bu çoğaltma yöntem kullanmak için schema_option otomatik olarak oluşturulmasını belirtmek için saklı yordam, veya belirtilen saklı yordam hedef veritabanındaki her abone makale.Kullanıcı tarafından oluşturulan bir saklı yordam belirterek aboneleri güncelleştirmek için izin verilmez.
sql veya null
Bir update deyim çoğaltır.Güncelleştirme deyim tüm sütun değerleri ve birincil anahtar sütunu değerleri üzerinde sağlanır.Bu komut, Güncelleştirmeler'i çoğaltılır:
UPDATE <table name> SET c1 = c1value, SET c2 = c2value, SET cn = cnvalue WHERE pkc1 = pkc1value AND pkc2 = pkc2value AND pkcn = pkcnvalue
Not
Çağrı, mcall, scall ve xcall sözdizimi için abone yayılma veri miktarı değişir.Çağrı sözdizimi, tüm eklenen ve silinen sütun için tüm değerleri geçirir.scall sözdizimi yalnızca etkilenen sütun değerlerini iletir.xcall sözdizimi değerlerini tüm geçirmeden sütuns, değişip, önceki değeri dahil sütun.Daha fazla bilgi için bkz: Değişiklikleri için işlemsel makaleleri nasıl yayılma belirtme.
[ @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.[ @description =] 'description'
Is a descriptive entry for the article.description is nvarchar(255), with a default of NULL.[ @pre_creation_cmd =] 'pre_creation_cmd'
Specifies what the system should do if it detects an existing object of the same name at the subscriber when applying the snapshot for this article.pre_creation_cmd is nvarchar(10), and can be one of the following values.Değer
Açıklama
Yok
Bir komut kullanın.
Sil
Hedef verileri siler tablo anlık görüntü görüntüsünü uygulamadan önce.Zaman makale ise yatay olarak filtre, yalnızca filtre yan tümce tümce tümce tarafından belirtilen sütunlardaki veriler silinir.Yatay bir filtre tanımladığınızda Oracle yayımcılar için desteklenmiyor.
bırak (varsayılan)
Hedef Tablo düşünceye.
Kes
Hedef Tablo keser.odbc veya ole db aboneleri için geçerli değil.
[ @filter_clause=] 'filter_clause'
Bir kısıtlamadır yatay bir filtre tanımlar (nerede) yan tümce tümce tümce.When entering the restriction clause, omit the keyword WHERE.filter_clause is ntext, with a default of NULL.Daha fazla bilgi için bkz: Veri süzme yayımlandı.[ @schema_option =] schema_option
Is a bitmask 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:Not
Bu değer null ise sistem otomatik-bir geçerli şema seçeneği diğer makale özelliklerini bağlı makale oluşturur.The Default Schema Options table given in the Remarks shows the value that will be chosen based upon the combination of the article type and the replication type.
Değer
Açıklama
0x00
komut dosyası kullanan kullanan kullanan dosyası Snapshot Aracısı tarafından devre dışı bırakır ve kullanan creation_script.
0x01
Nesne oluşturma komut dosyası (create table, create procedure vb.) oluşturur.Bu saklı yordam makaleleri için varsayılan değerdir.
0x02
Tanımlanan makale değişiklikleri yaymak saklı yordamlar oluşturur.
0x04
Kimlik sütunları kullanarak kimlik özellik vermeyecekleri.
0x08
Çoğaltma timestamp sütunlar.Aksi takdirde küme, timestamp sütun olarak çoğaltılmasını binary.
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.Oracle yayımcılar için desteklenen değil.
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
Birincil anahtar 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.Oracle yayımcılar için desteklenen değil.
0x200
Yabancı anahtar kısıtlamalarını çoğaltır.Yayımlanmış bir tabloda tüm yabancı anahtar kısıtlamaları başvurulan tablo yayın bir parçası değilse, çoğaltılmaz.Oracle yayımcılar için desteklenen değil.
0x400
Denetleme kısıtlamaları çoğaltır.Oracle yayımcılar için desteklenen değil.
0x800
Varsayılanları çoğaltır.Oracle yayımcılar için desteklenen değil.
0x1000
Sütun - çoğaltırdüzey harmanlama.
NotBu seçenek olması gereken küme büyük küçük durum duyarlı karşılaştırmaları etkinleştirmek Oracle yayımcılar için.0x2000
Genişletilmiş özellikler yayımlanmış makale ile ilişkili çoğaltır kaynak nesne.Oracle yayımcılar için desteklenen değil.
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 için geçerli değil SQL Server 2005 Publishers.
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
0x800000
Kural bağlar
0x1000000
Tam metin dizini
0x2000000
xml şema koleksiyonları bağlı xml sütunlar yinelenmez.
0x4000000
Dizinler üzerinde çoğaltır xml sütunlar.
0x8000000
Zaten mevcut tüm şemalar üzerinde abone oluşturun.
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ırakma girişimi.
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
İçin 8000 bayttan daha büyük olan 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.
0x20000000000
sparse öznitelik sütunları için çoğaltır.Bu öznitelik hakkında daha fazla bilgi için bkz: Seyrek sütunlar kullanma.
NULL
Çoğaltma otomatik olarak ayarlar schema_option için bir varsayılan değer değeri bağlıdır diğer makale özellikleri."Varsayılan şema Seçenekleri" Açıklamalar bölümünde tablo makale türü ve çoğaltma türü temel alarak varsayılan şema seçeneklerini gösterir.
Varsayılan olmayan-SQL Server yayınları ise 0x050D3.
Tüm schema_option değerler geçerli her tür çoğaltma ve makale türü.The Valid Schema Options table in the Remarks section shows the valid schema options that can be chosen based upon the combination of the article type and the replication type.
[ @destination_owner =] 'destination_owner'
Is the name of the owner of the destination object.destination_owner is sysname, with a default of NULL.Zaman destination_owner , otomatik olarak aşağıdaki kurallara dayalı sahibi belirtilen belirtilmemiş:Koşul
Hedef nesne sahibi
Yayında sadece destekleyen ilk anlık görüntü, üretmek için yerel mod toplu kopyalama SQL Server aboneleri.
Varsayılan değerine source_owner.
Olmayan bir yayımlanan-SQL Server Yayımcı.
Hedef veritabanının sahibi varsayılan.
Yayında olmayan destekleyen ilk anlık görüntü, üretmek için karakter modu toplu kopyalama-SQL Server aboneleri.
Atanmamış.
Olmayan desteklemek için-SQL Server aboneleri, destination_owner olmalıdır null.
[ @status=] status
Specifies if the article is active and additional options for how changes are propagated.status is tinyint, and can be the | (Bitwise OR) product of one or more of these values.Değer
Açıklama
1
Makale etkindir.
8
INSERT deyimleri sütun adını içerir.
16 (varsayılan)
İfadeleri kullanır parametreli.
24
INSERT deyimleri sütun adını içerir ve parametreli deyimleri kullanır.
64
Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.
Parametreli deyimleri kullanarak etkin bir makale 17 değeri bu örneğin, olur sütun.Değeri, 0 makale etkin değil ve hiçbir ek özelliklerin tanımlandığı anlamına gelir.
[ @source_owner =] 'source_owner'
Is the owner of the source object.source_owner is sysname, with a default of NULL.source_owner must be specified for Oracle Publishers.[ @sync_object_owner =] 'sync_object_owner'
Is the owner of the view that defines the published article.sync_object_owner is sysname, with a default of NULL.[ @filter_owner =] 'filter_owner'
Is the owner of the filter.filter_owner is sysname, with a default of NULL.[ @source_object =] 'source_object'
Is the database object to be published.source_object is sysname, with a default of NULL.If source_table is NULL, source_object cannot be NULL.source_object should be used instead of source_table.Anlık görüntü veya işlem çoğaltma kullanarak yayımlanmış nesne türleri hakkında daha fazla bilgi için bkz: Yayımlama veri ve veritabanı nesneleri.[ @artid = ] article_ID OUTPUT
Is the article ID of the new article.article_ID is int with a default of NULL, and it is an OUTPUT parameter.[ @auto_identity_range = ] 'auto_identity_range'
Enables and disables automatic identity range handling on a publication at the time it is created.auto_identity_range is nvarchar(5), and can be one of the following values:Değer
Açıklama
true
Otomatik kimlik aralık işlenmesini sağlar
false
Otomatik kimlik aralık işleme devre dışı bırakır
Null(default)
Kimlik aralık işleme küme identityrangemanagementoption.
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
Controls the range size at the Publisher if the article has identityrangemanagementoption set to auto or auto_identity_range set to true.pub_identity_range is bigint, with a default of NULL.Oracle yayımcılar için desteklenen değil.[ @identity_range = ] identity_range
Controls the range size at the Subscriber if the article has identityrangemanagementoption set to auto or auto_identity_range set to true.identity_range is bigint, with a default of NULL.Ne zaman kullanılan auto_identity_range olan küme için doğru.Oracle yayımcılar için desteklenen değil.[ @threshold = ] threshold
Ne zaman Dağıtım Aracısı yeni bir kimlik aralık atar denetleyen yüzde değeridir.When the percentage of values specified in threshold is used, the Distribution Agent creates a new identity range.threshold is bigint, with a default of NULL.Ne zaman kullanılan identityrangemanagementoption olarak küme Otomatik ya da auto_identity_range olarak küme doğru.Oracle yayımcılar için desteklenen değil.[ @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ü değişikliği gerektirdiğini algılarsa, bir hata oluşur ve değişiklik yapılmaz.
1 bir makale anlık görüntü geçersiz olarak neden olabilir ve abonelikleri varsa, duyar yeni bir anlık görüntü ekleme varolan anlık görüntü geçersiz olarak işaretlenmesi ve oluşturulacak yeni bir anlık görüntü için izni verir belirtir.
[ @use_default_datatypes = ] use_default_datatypes
Is whether the default column data type mappings are used when publishing an article from an Oracle Publisher.use_default_datatypes is bit, with a default of 1.1 = varsayılan makale sütun eşleştirmeleri kullanılır.Varsayılan veri türü eşlemeleri yürüterek görüntülenebilen sp_getdefaultdatatypemapping.
0 = özel makale sütun eşlemeleri tanımlanır ve bu nedenle sp_articleview çağrılmaz sp_addarticle.
Zaman use_default_datatypes olarak küme 0, gereken yürütmek sp_changearticlecolumndatatype varsayılan değiştirilmesini her sütun eşleme için bir kez.Tüm özel sütun eşlemeleri tanımladıktan sonra gerekir yürütmek sp_articleview.
Not
Bu parametre yalnızca Oracle yayımcılar için kullanılmalıdır.Ayar use_default_datatypes için 0 için bir SQL Server Yayımcı oluşturduğu bir hata.
[ @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
none
Hiçbir açık kimlik aralık yönetimi çoğaltma yapar.Bu seçenek yalnızca geriye doğru sql Server'ın önceki sürümleriyle uyumluluk önerilir.Peer çoğaltma için izin verilmez.
manual
İşaretleri kimlik sütunu not for REPLICATION kullanarak el ile kimlik aralık işleme etkinleştirin.
auto
Otomatik kimlik aralığı yönetimi belirtir.
Null(default)
Varsayılan olarak none zaman değeri auto_identity_range değil true.Varsayılan olarak manual bir eşler arası topoloji varsayılan (auto_identity_range yok sayılır).
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.
[ @publisher = ] 'publisher'
Specifies a non-SQL Server Publisher.publisher is sysname, with a default of NULL.Not
publisherbir makale eklerken kullanılmamalıdır bir SQL Server Yayımcı.
[ @fire_triggers_on_snapshot = ] 'fire_triggers_on_snapshot'
Is if replicated user triggers are executed when the initial snapshot is applied.fire_triggers_on_snapshot is nvarchar(5), with a default of FALSE.true means that user triggers on a replicated table are executed when the snapshot is applied.Sırada çoğaltılması tetikleyici bit maskesi değeri schema_option değerini içermelidir 0x100.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (başarısız)
Açıklamalar
sp_addarticle anlık görüntü çoğaltması çoğaltması çoğaltma veya işlem çoğaltma kullanılır.
Varsayılan olarak, kaynak programda tüm sütunları çoğaltma yayımlamaz tablo ne zaman sütun veri türü desteklenmiyor çoğaltma tarafından.Bir sütun yayımlamak istiyorsanız, yapmanız gerekenler yürütmek sp_articlecolumn sütunu eklemek için.Daha fazla bilgi için bkz: Çoğaltma tüm türleri için dikkat edilmesi gereken noktalar.
Bir makale eklerken bir yayın , eşler arası işlem çoğaltma destekleyen, aşağıdaki kısıtlamalar geçerlidir:
Parametreli deyimleri tüm logbased makaleler için belirtilmelidir.Eklemelisiniz 16 de status değer.
Adı ve sahibi hedef tablonun kaynak tablo eşleşmesi gerekir.
makale Yatay veya dikey olarak süzülmüş.
Otomatik kimlik aralık yönetimi desteklenmiyor.İçin el ile bir değer belirtmeniz gerekir identityrangemanagementoption.
Yoksa bir timestamp sütun bulunmaktadır tablo, içinde 0x08 eklemeniz gerekir schema_option sütun olarak çoğaltmak için timestamp.
Değeri, sql için tarif edilemez ins_cmd, upd_cmd, ve del_cmd.
Daha fazla bilgi için bkz: Eşler arası işlem ç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.
If vertical_partition is set to true, sp_addarticle defers the creation of the view until sp_articleview is called (after the last sp_articlecolumn is added).
yayın abonelikleri ve yayımlanmış tablo güncelleştirme veriyorsa sahip olmadığı bir uniqueidentifier sütun, sp_addarticle ekler bir uniqueidentifier tablo sütunu otomatik olarak.
Varsayılan şema seçenekleri
Bu tablo varsayılan değeri açıklanır küme çoğaltma tarafından schema_options Burada bu değer bağlıdır (üst boyunca gösterilen) çoğaltma türü ve (ilk sütun boyunca gösterilen) makale türü kullanıcı tarafından belirtilen.
Makale türü |
Çoğaltma türü |
|
---|---|---|
|
İşlem |
Anlık görüntü |
toplu şema |
0x01 |
0x01 |
işlev şema |
0x01 |
0x01 |
dizinli görünüm şema |
0x01 |
0x01 |
dizinli görünüm logbased |
0x30F3 |
0x3071 |
dizinli görünüm logbase manualboth |
0x30F3 |
0x3071 |
dizinli görünüm logbased manualfilter |
0x30F3 |
0x3071 |
dizinli görünüm logbased manualview |
0x30F3 |
0x3071 |
logbased |
0x30F3 |
0x3071 |
logbased manualfilter |
0x30F3 |
0x3071 |
logbased manualview |
0x30F3 |
0x3071 |
yordam exec |
0x01 |
0x01 |
proc şema |
0x01 |
0x01 |
seri hale getirilebilir yordam exec |
0x01 |
0x01 |
Yalnızca Görünüm şema |
0x01 |
0x01 |
Not
Bir yayın, güncelleştirme sıraya için etkinse, bir schema_option değeri 0x80 gösterilen varsayılan değere eklenir tablo.Varsayılan değer schema_option için bir olmayan-SQL Server yayın 0x050D3.
Geçerli şema seçenekleri
Bu tablo izin verilen değerleri açıklar schema_option (üst boyunca gösterilen) çoğaltma türü ve (ilk sütun boyunca gösterilen) makale türü temel.
Makale türü |
Çoğaltma türü |
|
---|---|---|
|
İşlem |
Anlık görüntü |
logbased |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
logbased manualfilter |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
logbased manualview |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
dizinli görünüm logbased |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
dizinli görünüm logbased manualfilter |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
dizinli görünüm logbased manualview |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
dizinli görünüm logbase manualboth |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
yordam exec |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
seri hale getirilebilir yordam exec |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
proc şema |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
Yalnızca Görünüm şema |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000 |
işlev şema |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
dizinli görünüm şema |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000 |
Not
Kuyruğa alınmış güncelleştirme yayınlar için schema_option değerlerini 0x8000 ve 0x80 etkinleştirilmiş olması gerekir.Desteklenen schema_option için değer olmayan-SQL Server yayınları şunlardır: 0x01, 0x02, 0x10, 0x40, 0x80, 0x1000, 0x4000 and 0X8000.
Örnek
DECLARE @publication AS sysname;
DECLARE @table AS sysname;
DECLARE @filterclause AS nvarchar(500);
DECLARE @filtername AS nvarchar(386);
DECLARE @schemaowner AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @table = N'Product';
SET @filterclause = N'[DiscontinuedDate] IS NULL';
SET @filtername = N'filter_out_discontinued';
SET @schemaowner = N'Production';
-- Add a horizontally and vertically filtered article for the Product table.
-- Manually set @schema_option to ensure that the Production schema
-- is generated at the Subscriber (0x8000000).
EXEC sp_addarticle
@publication = @publication,
@article = @table,
@source_object = @table,
@source_owner = @schemaowner,
@schema_option = 0x80030F3,
@vertical_partition = N'true',
@type = N'logbased',
@filter_clause = @filterclause;
-- (Optional) Manually call the stored procedure to create the
-- horizontal filtering stored procedure. Since the type is
-- 'logbased', this stored procedures is executed automatically.
EXEC sp_articlefilter
@publication = @publication,
@article = @table,
@filter_clause = @filterclause,
@filter_name = @filtername;
-- Add all columns to the article.
EXEC sp_articlecolumn
@publication = @publication,
@article = @table;
-- Remove the DaysToManufacture column from the article
EXEC sp_articlecolumn
@publication = @publication,
@article = @table,
@column = N'DaysToManufacture',
@operation = N'drop';
-- (Optional) Manually call the stored procedure to create the
-- vertical filtering view. Since the type is 'logbased',
-- this stored procedures is executed automatically.
EXEC sp_articleview
@publication = @publication,
@article = @table,
@filter_clause = @filterclause;
GO
İzinler
Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü olabilir yürütmek sp_addarticle.
Ayrıca bkz.