eşdeğerdirsp_addarticle (Transact-sql)
Bir makale oluşturur ve yayına ekler. Bu saklı yordam, yayını veritabanı üzerinde yayımcı adresindeki yürütülür.
Transact-SQL Sözdizim Kuralları
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'
Makaleyi içeren Yayını addır. Adı veritabanı içinde benzersiz olmalıdı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.@ source_table = 'source_table'
Bu parametre onaylanmaz; kullanın source_objectyerine.Bu parametre, Oracle yayımcılar için desteklenmiyor.
destination_table @ = 'destination_table'
(Abonelik) hedef tablo adı farklı ise, source_table ya da saklı yordamı. destination_tableise sysname, null, varsayılan ile yani source_tableeşittir destination_table*.*@ Vertical_partitiontrue = 'vertical_partition'
Sağlar ve sütun bir tablo makale filtre uygulama devre dışı bırakır. vertical_partitionise nchar(5), false varsayılan.yanlış dikey filtre yok olduğunu gösterir ve tüm sütunları yayımlar.
gerçek tüm dışında bildirilen birincil anahtar sütunları, ile hiçbir varsayılan NULL olabilecek sütunları ve benzersiz anahtar sütunları temizler. Sütunları kullanarak eklenen sp_articlecolumn.
@type = 'type'
Yazı türüdür. typeise sysname, ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
Toplama şema
Toplama işlevi yalnızca şema ile.
işlev şema yalnızca
İşlev yalnızca şema ile.
Dizin oluşturulmuş görünüm logbased
Dizin oluşturulmuş 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.
Dizin oluşturulmuş görünüm logbased manualboth
El ile filtre ve el ile görünümü ile günlük tabanlı dizin oluşturulmuş görünüm makale. Bu seçenek, hem de belirtmeniz gerekir sync_objectve filterparametreleri. Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur. Oracle yayımcılar için desteklenmiyor.
Dizin oluşturulmuş görünüm logbased manualfilter
El ile filtre ile dizin oluşturulmuş görünüm, günlük tabanlı makale. Bu seçenek, hem de belirtmeniz gerekir sync_objectve filterparametreleri. Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur. Oracle yayımcılar için desteklenmiyor.
Dizin oluşturulmuş görünüm logbased manualview
El ile görünümü ile günlük tabanlı dizin oluşturulmuş görünüm makale. Bu seçenek, belirtmenizi gerektirir sync_objectparametresi. Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur. Oracle yayımcılar için desteklenmiyor.
Dizin oluşturulmuş görünüm şema
Dizin oluşturulmuş görünüm yalnızca şema ile. Bu makale türü için 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 belirtmeniz gerekir sync_objectve filterparametreleri. Oracle yayımcılar için desteklenmiyor.
logbased manualfilter
El ile filtre ile günlük tabanlı makale. Bu seçenek, hem de belirtmeniz gerekir sync_objectve filterparametreleri. 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_objectparametresi. Oracle yayımcılar için desteklenmiyor.
yordam Yönet
Saklı yordamı yürütme makale tüm abonelere kopyalar. Oracle yayımcılar için desteklenmiyor. Seçeneğini 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ünde in Işlem çoğaltma yayımlama saklı yordamı yürütme.
yalnızca yordam şema
Yordam yalnızca şema ile. Oracle yayımcılar için desteklenmiyor.
seri hale getirilebilir yordam Yönet
Saklı yordam yürütme sadece o seri hale getirilebilir bir işlem bağlamında yürütülen çoğaltı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'
Saklı yordam (çoğaltma için oluşturulan), tabloyu yatay olarak filtre uygulamak için kullanılır. filterise nvarchar(386), null varsayılan. sp_articleview ve sp_articlefilter el ile görünümü oluşturmak ve saklı yordam filtre yürütülmelidir. BOŞ değil ise, filtre yordamı oluşturulan (saklı yordam el ile oluşturulan varsayar).@ sync_object = 'sync_object'
Tablo veya görünüm bu makalede anlık temsil etmek için kullanılan veri dosyası üretmek için kullanılan addır. sync_objectise nvarchar(386), null varsayılan. BOŞ ise, sp_articleview otomatik olarak çıkış dosyası oluşturmak için kullanılan görünümü oluşturmak için denir. Bu durumda herhangi bir sütun ekledikten sonra sp_articlecolumn. BOŞ değil ise, bir görünüme oluşturulmaz (görünüm el ile oluşturulan varsayar).@ins_cmd = 'ins_cmd'
Çoğaltma komut türü çoğaltmak için bu makalenin eklediğinde kullanılır. ins_cmdise nvarchar(255), ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
NONE
Hiçbir işlem yapılmaz.
Arama sp_MSins_masa (varsayılan)
-ya da-
call custom_stored_procedure_name
Abone tarafında yürütülecek bir saklı yordamı çağırır. Çoğaltma yöntemi kullanmak için schema_optionsaklı yordamı otomatik olarak oluşturulmasını belirtmek veya her abone makalenin hedef veritabanında belirtilen saklı yordamı oluturmak için. custom_stored_procedurekullanıcı tarafından oluşturulan bir saklı yordam addır. sp_MSins_masa yerine hedef tablonun adını içeren _tableparametresi bir parçası. Ne zaman destination_ownerbelirtilirse, hedef tablo adı için önüne. Örneğin ProductCategory tablo sahibi tarafından Üretim şema abone adresindeki parametresi olacağını CALL sp_MSins_ProductionProductCategory. Bir makale eşler arası çoğaltma topolojisi, _tablebir GUID değeri eklenir. Belirtme custom_stored_procedureaboneleri güncelleştirmek için desteklenmiyor.
sql veya null
INSERT deyimi çoğaltır. INSERT deyimi, makale yayınlanmış 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)
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'
Çoğaltma için bu makalenin sildiğinde çoğaltma komut türü kullanılır. del_cmdise nvarchar(255), ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
NONE
Hiçbir işlem yapılmaz.
Aramasp_MSdel_masa (varsayılan)
-ya da-
call custom_stored_procedure_name
Abone tarafında yürütülecek bir saklı yordamı çağırır. Çoğaltma yöntemi kullanmak için schema_optionsaklı yordamı otomatik olarak oluşturulmasını belirtmek veya her abone makalenin hedef veritabanında belirtilen saklı yordamı oluturmak için. custom_stored_procedurekullanıcı tarafından oluşturulan bir saklı yordam addır. sp_MSdel_masa yerine hedef tablonun adını içeren _tableparametresi bir parçası. Ne zaman destination_ownerbelirtilirse, hedef tablo adı için önüne. Örneğin ProductCategory tablo sahibi tarafından Üretim şema abone adresindeki parametresi olacağını CALL sp_MSdel_ProductionProductCategory. Bir makale eşler arası çoğaltma topolojisi, _tablebir GUID değeri eklenir. Belirtme custom_stored_procedureaboneleri güncelleştirmek için desteklenmiyor.
xcall sp_MSdel_tablosu
-ya da-
xcall custom_stored_procedure_name
xcall stil parametreleri alarak saklı yordamı çağırır. Çoğaltma yöntemi kullanmak için schema_optionsaklı yordamı otomatik olarak oluşturulmasını belirtmek veya her abone makalenin hedef veritabanında belirtilen saklı yordamı oluturmak için. Kullanıcı tarafından oluşturulan bir saklı yordam belirterek aboneleri güncelleştirmek için izin verilmez.
sql veya null
delete deyimi çoğaltır. delete deyimi, tüm birincil anahtar sütunu değerleri sağlanmıştır. Bu komut üzerinde siler çoğaltılır:
DELETE FROM <table name> WHERE pkc1 = pkc1value AND pkc2 = pkc2value AND pkcn = pkcnvalue
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'
Çoğaltma için bu makalenin güncelleştirdiğinde çoğaltma komut türü kullanılır. upd_cmdise nvarchar(255), ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
NONE
Hiçbir işlem yapılmaz.
Çağrı sp_MSupd_tablosu
-ya da-
call custom_stored_procedure_name
Abone tarafında yürütülecek bir saklı yordamı çağırır. Çoğaltma yöntemi kullanmak için schema_optionsaklı yordamı otomatik olarak oluşturulmasını belirtmek veya her abone makalenin hedef veritabanında belirtilen saklı yordamı oluturmak için.
mcall sp_MSupd_tablosu
-ya da-
mcall custom_stored_procedure_name
mcall stil parametreleri alarak saklı yordamı çağırır. Çoğaltma yöntemi kullanmak için schema_optionsaklı yordamı otomatik olarak oluşturulmasını belirtmek veya her abone makalenin hedef veritabanında belirtilen saklı yordamı oluturmak için. custom_stored_procedurekullanıcı tarafından oluşturulan bir saklı yordam addır. sp_MSupd_masa yerine hedef tablonun adını içeren _tableparametresi bir parçası. Ne zaman destination_ownerbelirtilirse, hedef tablo adı için önüne. Örneğin ProductCategory tablo sahibi tarafından Üretim şema abone adresindeki parametresi olacağını MCALL sp_MSupd_ProductionProductCategory. Bir makale eşler arası çoğaltma topolojisi, _tablebir GUID değeri eklenir. Kullanıcı tarafından oluşturulan bir saklı yordam belirterek aboneleri güncelleştirmek için izin verilmez.
scall sp_MSupd_masa (varsayılan)
-ya da-
scall custom_stored_procedure_name
scall stil parametreleri alarak saklı yordamı çağırır. Çoğaltma yöntemi kullanmak için schema_optionsaklı yordamı otomatik olarak oluşturulmasını belirtmek veya her abone makalenin hedef veritabanında belirtilen saklı yordamı oluturmak için. custom_stored_procedurekullanıcı tarafından oluşturulan bir saklı yordam addır. sp_MSupd_masa yerine hedef tablonun adını içeren _tableparametresi bir parçası. Ne zaman destination_ownerbelirtilirse, hedef tablo adı için önüne. Örneğin ProductCategory tablo sahibi tarafından Üretim şema abone adresindeki parametresi olacağını SCALL sp_MSupd_ProductionProductCategory. Bir makale eşler arası çoğaltma topolojisi, _tablebir GUID değeri eklenir. Kullanıcı tarafından oluşturulan bir saklı yordam belirterek aboneleri güncelleştirmek için izin verilmez.
xcall sp_MSupd_tablosu
-ya da-
xcall custom_stored_procedure_name
xcall stil parametreleri alarak saklı yordamı çağırır. Çoğaltma yöntemi kullanmak için schema_optionsaklı yordamı otomatik olarak oluşturulmasını belirtmek veya her abone makalenin hedef veritabanında belirtilen saklı yordamı oluturmak için. Kullanıcı tarafından oluşturulan bir saklı yordam belirterek aboneleri güncelleştirmek için izin verilmez.
sql veya null
Bir update deyimi çoğaltır. update deyimi, tüm sütun değerleri ve birincil anahtar sütunu değerleri sağlanmıştır. Bu komut, güncelleştirmeleri ç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
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 abone yayılma veri miktarına göre değişir. ÇAĞRI 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 olup olmadığını ya da değil, sütun önceki değeri dahil olmak üzere değiştirilen tüm sütunlar için değerleri geçirir. Daha fazla bilgi için, bkz. Değişiklikleri için işlemsel makaleleri nasıl yayılma belirtme.
@ 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.@ description ='description'
Makaleyi tanımlayıcı bir girdisi olduğunu. descriptionise nvarchar(255), null varsayılan.@ pre_creation_cmd ='pre_creation_cmd'
Sistem ne yapmalıyım belirtir bu abone aynı adı varolan bir nesnenin bu makalede anlık uygularken algılarsa. pre_creation_cmdise nvarchar(10), ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
hiçbiri
Bir komut kullanın.
Sil
Veri anlık görüntüsünü uygulamadan önce hedef tablodan siler. Makale yatay olarak filtre yalnızca filtre yan tümcesi tarafından belirtilen sütunlardaki veriler silinir. Yatay filtre tanımladığınızda, Oracle yayımcılar için desteklenmiyor.
damla (varsayılan)
Hedef Tablo düşünceye.
kesecek
Hedef Tablo keser. odbc veya ole db aboneleri için geçerli değil.
@ filter_clause ='filter_clause'
Bir kısıtlama yatay bir filtre tanımlar (nerede) yan tümcesi. Kısıtlama yan tümcesi girerken, anahtar sözcüğünü atlarsanız burada. filter_clauseise ntext, null varsayılan. Daha fazla bilgi için, bkz. Yayımlanmış veri süzme.**@ schema_option =**schema_option
Verilen makaleyi şema oluşturma seçeneğinin bir bit maskesidir. schema_optionise binary(8)ve | (Bit düzey veya) bu değerleri birinin veya ürün:[!NOT]
Bu değer boş ise, sistem otomatik-geçerli şema seçeneği diğer makale özelliklerini bağlı makale oluşturur. Varsayılan şema seçeneklerini açıklamalar, verilen tablo makale türü ve çoğaltma türü birleşimi göre seçilecektir değeri gösterir.
Değer
Açıklama
0x00
Komut 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 bir makale değişiklikleri yaymak saklı yordamlar oluşturur.
0x04
Kimlik sütunları IDENTITY özelliği kullanarak komut dosyası.
0x08
Çoğaltma timestampsütun. Yoksa ayarlamak, timestampolarak sütunları çoğaltılan binary.
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. Oracle yayımcılar için desteklenen değil.
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
Birincil 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. Oracle yayımcılar için desteklenen değil.
0x200
Yabancı anahtar 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ış tablo çoğaltılmaz. Oracle yayımcılar için desteklenen değil.
0x400
Çoğaltır kısıtlamaları denetleyin. 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 düzeyinde alfabe çoğaltır.
NotOracle yayımcılar için büyük küçük harf duyarlı karşılaştırmaları etkinleştirmek bu seçeneği ayarlanmalıdır.0x2000
Genişletilmiş özellikler yayımlanmış makale kaynak nesneyle ilişkili çoğaltır. Oracle yayımcılar için desteklenen değil.
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 için geçerli değil SQL Server 2005Publishers.
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ğlamaları
0x800000
Kural bağlar
0x1000000
Tam metin dizini
0x2000000
xml şema koleksiyonları bağlı xmlsütunlar yinelenmez.
0x4000000
Dizinler üzerinde çoğaltır xmlsütun.
0x8000000
Zaten mevcut şemalar abone oluşturun.
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ırakma girişiminde bulunuldu.
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
8000 Bayttan büyük 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.
0x20000000000
sparse özniteliği 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 ayarlar schema_optioniçin varsayılan değer, hangi değeri diğer madde özelliklerine bağlıdır. "Varsayılan şema seçenekleri" Açıklamalar bölümünde tablo makale türü ve çoğaltma türü temel alan varsayılan şema seçeneklerini gösterir.
Varsayılan olmayan- SQL Server yayınlar olduğunu 0x050D3.
Tüm schema_optionher çoğaltma türünü ve yazı tipi için geçerli değerlerdir. Geçerli şema seçeneklerini açıklamalar bölümüne tablosunda gösterir seçilebilir geçerli şema seçenekleri temel makale türü ve çoğaltma türü birleşimi.
@ destination_owner ='destination_owner'
Hedef nesnenin adıdır. destination_ownerise sysname, null varsayılan. Ne zaman destination_owner, sahibi, otomatik olarak aşağıdaki kurallara göre belirlenir belirlenmez:Koşul
Hedef nesne sahibi
Yayında sadece destekleyen snapshot, ilk oluşturmak için yerel mod toplu kopyalama SQL Serveraboneleri.
Varsayılan değerine source_owner.
Olmayan bir Yayınlandı- SQL Server Yayınevi.
Hedef veritabanının sahibi varsayılan.
Yayında olmayan destekleyen snapshot, ilk oluşturmak için karakter modu toplu kopyalama- SQL Server aboneleri.
Atanmamış.
Sigara destekleyecek- SQL Server aboneleri, destination_ownernull olmalıdır.
**@status=**status
Makaleyi değişiklikleri nasıl yayılır için aktif ve ek seçenekler olup olmadığını belirtir. statusise tinyintve | (Bit düzey veya) bir veya daha bu değerlerin çarpımı.Değer
Açıklama
1
Makale etkindir.
8
INSERT deyimleri sütun adını içerir.
16 (varsayılan)
Kullanır parametreli deyimleri.
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.
Örneğin, etkin bir makale parametreli deyimleri kullanarak bu sütunda 17 değeri olurdu. Değeri 0 makale etkin değil ve hiçbir ek özellikleri tanımlanmış demektir.
@ source_owner ='source_owner'
Kaynak nesne sahibi. source_ownerise sysname, null varsayılan. source_ownerOracle yayımcılar için belirtilmelidir.@ sync_object_owner ='sync_object_owner'
Yayımlanmış bir makaleye tanımlar görünümü sahibidir. sync_object_ownerise sysname, null varsayılan.@ filter_owner ='filter_owner'
Filtre sahibidir. filter_ownerise sysname, null varsayılan.@ source_object ='source_object'
Yayımlanmak üzere veritabanı nesnesidir. source_objectise sysname, null varsayılan. Eğer source_tableNULL, source_objectnull olamaz. 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: Verileri ve veritabanı nesnelerini Yayımla.@artid = article_IDÇıktı
Yeni bir makale makale kimliğidir. article_IDise intnull ve varsayılan ile bir çıkış parametresidir.@ auto_identity_rangeidentityrangemanagementoption = 'auto_identity_range'
Sağlar ve otomatik kimlik aralığı işleme oluşturulduğu anda bir yayın devre dışı bırakır. auto_identity_rangeise nvarchar(5), ve aşağıdaki değerlerden biri olabilir:Değer
Açıklama
true
Otomatik kimlik aralığı işleme sağlar
false
Otomatik kimlik aralığı işleme devre dışı bırakır
NULL(Default)
Kimlik aralığı işleme ayarlanır identityrangemanagementoption.
[!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
Madde varsa, Publisher aralığı boyutunu denetler identityrangemanagementoptioniçin auto veya auto_identity_rangeayarlamak gerçek. pub_identity_rangeise bigint, null varsayılan. Oracle yayımcılar için desteklenen değil.@ identity_range = identity_range
Madde varsa abone aralığı boyutunu denetler identityrangemanagementoption için auto veya auto_identity_rangeayarlamak gerçek. identity_rangeise bigint, null varsayılan. Ne zaman kullanılan auto_identity_rangeidentityrangemanagementoption ayarı gerçek. Oracle yayımcılar için desteklenen değil.@ eşik = threshold
Ne zaman dağıtım aracı yeni bir kimlik aralığı atar denetleyen yüzde değeridir. Ne zaman içinde belirtilen değerler yüzdesi thresholdise kullanılan dağıtım aracı, yeni bir kimlik aralığı oluşturur. thresholdise bigint, null varsayılan. Ne zaman kullanılan identityrangemanagementoptionayarlanır auto veya auto_identity_rangeayarlanır gerçek. Oracle yayımcılar için desteklenen değil.@ 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ü gerektirir algılarsa, bir hata oluşur ve değişiklik yapılmaz.
1 bir makale anlık geçersiz neden olabilir ve abonelikleri varsa bu yeni bir anlık görüntü gerektirecek 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.
**@ use_default_datatypes =**use_default_datatypes
Varsayılan sütun veri türü eşlemeleri Oracle Publisher'ın bir makalesinden yayımlanırken kullanılır olduğunu. ile varsayılan olarak, biraz use_default_datatypes0.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ımlanan ve bu nedenle sp_articleview çağrılmaz sp_addarticle.
Ne zaman use_default_datatypesayarı 0, yürütme gerekir sp_changearticlecolumndatatype default değiştirilmesini her sütun eşleme için bir kez. Tüm özel sütun eşlemeleri tanımladıktan sonra yürütme gerekir sp_articleview.
[!NOT]
Bu parametre yalnızca Oracle yayımcılar için kullanılır. Ayar use_default_datatypesiçin 0 için bir SQL ServerPublisher üretir hata.
@ 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
none
Çoğaltma yok açık kimlik aralığı yönetimi yok. Bu seçenek yalnızca geriye doğru SQL Server'ın önceki sürümleri ile uyumluluk tavsiye edilir. Peer çoğaltma için izin verilmez.
manual
not for REPLICATION kullanarak el ile kimlik aralığı işleme etkinleştirme kimlik sütunu işaretler.
auto
Otomatik kimlik aralığı yönetimi belirtir.
NULL(Default)
Varsayılan olarak nonezaman değeri auto_identity_rangedeğil true. Varsayılan olarak manualbir eşler arası topoloji varsayılan ( auto_identity_range yok sayılır).
Geriye dönük uyumluluk için zaman değerini identityrangemanagementoptionNULL, değeri auto_identity_rangedenetlenir. 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.
@ publisher ='publisher'
Olmayan bir belirtir- SQL Server Yayınevi. publisher ise sysname, null varsayılan.[!NOT]
publisherbir makale eklerken kullanılmamalıdır bir SQL ServerYayınevi.
@ fire_triggers_on_snapshot ='fire_triggers_on_snapshot'
Çoğaltılan ilk anlık uygulandığında kullanıcı Tetikleyiciler yürütülen olur. fire_triggers_on_snapshotise nvarchar(5), false varsayılan. trueanlık uygulandığında yinelenmiş bir tabloda kullanıcı Tetikleyiciler yürütülen anlamına gelir. Sipariş için çoğaltılacak, Tetikleyiciler bit maskesi değeri schema_optiondeğerini içermelidir 0x100.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Açıklamalar
sp_addarticle anlık çoğaltma veya işlem çoğaltma kullanılır.
Ne zaman sütun veri türü çoğaltma tarafından desteklenmiyor varsayılan olarak kaynak tablosunda sütunları çoğaltma yayımlamaz. Böyle bir sütunu yayımlamanız gerekiyorsa, yürütme gerekir sp_articlecolumn sütunu eklemek için.
Bir makale eşler arası işlem çoğaltma destekleyen bir yayına eklerken, aşağıdaki kısıtlamalar geçerlidir:
Parametreli deyimleri tüm logbased makaleler için belirtilmelidir. Eklemeniz gerekir 16 de statusdeğer.
Kaynak tablo adını ve hedef tablo sahibi eşleşmelidir.
Makale yatay veya dikey filtre uygulanamıyor.
Otomatik kimlik aralığı yönetimi desteklenmiyor. Kılavuzu için bir değer belirtmeniz gerekiyor identityrangemanagementoption.
Eğer bir timestamptablodaki sütun var, içinde 0x08 eklemeniz gerekir schema_optionsütun olarak çoğaltmak için timestamp.
Değeri sql için belirtilemez ins_cmd, upd_cmd, ve del_cmd.
Daha fazla bilgi için, bkz. Eşler arası işlem çoğaltma.
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.
Eğer vertical_partitionayarı gerçek, sp_addarticle kadar görünüm oluşturma girmesini Erteledi sp_articleview denir (sonra son sp_articlecolumn eklenir).
Yayını abonelikleri ve yayımlanmış tablo güncelleştirme veriyorsa olmadığı bir uniqueidentifiersütununda sp_addarticle ekler bir uniqueidentifiertablo sütunu otomatik olarak.
Bir örneği olmayan bir abone çoğaltılıyor SQL Server(türdeş olmayan çoğaltma), yalnızca Transact-SQLdeyimleri desteklenir INSERT, UPDATE, ve DELETEkomutları.
Günlük Okuma Aracısı çalışırken, bir makale eşler arası yayın ekleyerek günlük Okuma Aracısı ve makale ekleyen süreci arasında bir kilitlenme neden olabilir. Bir makale eşler arası yayın kullanımı için makale burada eklediğiniz düğümde günlük Okuma Aracısı durdurmak için çoğaltma izleyicisi eklemeden önce bu sorunu önlemek için. Log reader agent, yazı ekledikten sonra yeniden başlatın.
Varsayılan şeması seçenekleri
Bu tabloda açıklanır Eğer çoğaltma tarafından ayarlanan varsayılan değerini schema_optionsnerede 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 değil.
Makale türü |
Çoğaltma türü |
|
---|---|---|
|
İşlem |
Anlık görüntü |
Toplama şema |
0x01 |
0x01 |
işlev şema yalnızca |
0x01 |
0x01 |
Dizin oluşturulmuş görünüm şema |
0x01 |
0x01 |
Dizin oluşturulmuş görünüm logbased |
0x30F3 |
0x3071 |
Dizin oluşturulmuş görünüm logbase manualboth |
0x30F3 |
0x3071 |
Dizin oluşturulmuş görünüm logbased manualfilter |
0x30F3 |
0x3071 |
Dizin oluşturulmuş görünüm logbased manualview |
0x30F3 |
0x3071 |
logbased |
0x30F3 |
0x3071 |
logbased manualfilter |
0x30F3 |
0x3071 |
logbased manualview |
0x30F3 |
0x3071 |
yordam Yönet |
0x01 |
0x01 |
yalnızca yordam şema |
0x01 |
0x01 |
seri hale getirilebilir yordam Yönet |
0x01 |
0x01 |
yalnızca görünüm şema |
0x01 |
0x01 |
[!NOT]
Yayını güncelleştirme sıraya için etkinse, bir schema_optiondeğeri 0x80 tabloda gösterilen varsayılan değerine eklenir. Varsayılan schema_optioniçin bir olmayan- SQL Server yayın 0x050D3.
Geçerli şema seçenekleri
Bu tabloda 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 |
Dizin oluşturulmuş görünüm logbased |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
Dizin oluşturulmuş görünüm logbased manualfilter |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
Dizin oluşturulmuş görünüm logbased manualview |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
Dizin oluşturulmuş görünüm logbase manualboth |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
yordam Yönet |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
seri hale getirilebilir yordam Yönet |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
yalnızca yordam şema |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20, 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 yalnızca |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
Dizin oluşturulmuş 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, schema_optiondeğerlerini 0x8000 ve 0x80 etkinleştirilmiş olması gerekir. Desteklenen schema_optioniçin değer olmayan- SQL Server yayınları: 0x01, 0x02, gerçekleşen, 0x40, 0x80, 0x1000, 0x4000 ve 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ü yürütebilirsiniz sp_addarticle.
Ayrıca bkz.
Başvuru
sp_articlecolumn (Transact-sql)
sp_articlefilter (Transact-sql)
veyasp_changearticle (Transact-sql)
eşdeğerdirsp_helparticle (Transact-sql)
sp_helparticlecolumns (Transact-sql)
Çoğaltma depolanan yordamlar (Transact-sql)