sp_changemergearticle (Transact-SQL)
Bir birleştirme özelliklerini değiştirir makale.Bu saklı yordam, yayın Veritabanı yayımcısına sırasında yürütülür.
sp_changemergearticle [ @publication = ] 'publication'
, [ @article = ] 'article'
[ , [ @property = ] 'property' ]
[ , [ @value = ] 'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
Bağımsız değişkenler
[ @publication=] 'publication'
Is the name of the publication in which the article exists.publication is sysname, with no default.[ @article=] 'article'
Is the name of the article to change.article is sysname, with no default.[ @property=] 'property'
Is the property to change for the given article and publication.property is nvarchar(30), and can be one of the values listed in the table.[ @value=] 'value'
Is the new value for the specified property.value is nvarchar(1000), and can be one of the values listed in the table.Bu tablo, makalelere ve bu özelliklerin değerlerini özelliklerini açıklar.
Özellik
Values
Açıklama
allow_interactive_resolver
TRUE
Makale, etkileşimli bir çözümleyici kullanımını etkinleştirir.
yanlış
Makale, etkileşimli bir çözümleyici kullanımını devre dışı bırakır.
article_resolver
Özel çözümleyici makale.Yalnızca bir tablo makale geçerlidir.
check_permissions (bit eşlem)
0x00
Tablo düzey izinleri denetlenmez.
0x10
Tablo düzey izinler, Yayımcı tarafında INSERT deyimleri Abone tarafında yapılan uygulanabilmesi Yayımcı tarafında denetlenir.
0x20
Tablo düzey izinler, Yayımcı tarafında Abone tarafında yapılan bir UPDATE deyimi uygulanabilmesi Yayımcı tarafında denetlenir.
0x40
Tablo düzey izinler, Yayımcı tarafında DELETE deyimleri abone sırasında Yayımcı tarafında uygulanabilmesi denetlenir.
column_tracking
TRUE
sütun kapatır düzey izleme.Yalnızca bir tablo makale geçerlidir.
Note:Sütun düzey yayımlama birden çok 246 sütunlarla tabloları, izleme kullanılamaz.yanlış
Sütun düzeyinde izleme devre dışı bırakır ve satır düzeyinde çakışma algılama bırakır.Yalnızca bir tablo makale geçerlidir.
compensate_for_errors
TRUE
Eşitleme sırasında hata ortaya çıktığında, compensating eylemler gerçekleştirilir.Daha fazla bilgi için bkz: sp_addmergearticle.
yanlış
Dengeleyici eylemler, varsayılan davranıştır, gerçekleştirilir değil.Daha fazla bilgi için bkz: sp_addmergearticle.
Important Note:Yakınsama işlemi dışında hata adresi olarak olmasını etkilenen satırlardaki veriler görünebilir, ancak değişikliklerin uygulanması ve veri yakınsamaya.Için kaynak tablo, bir makale zaten başka bir yayın sonra değeri yayımlanır compensate_for_errors iki makaleler için aynı olması gerekir.creation_script
Yolunu ve adını makaleyi abonelik veritabanında oluşturmak için kullanılan bir isteğe bağlı bir makale şema.
delete_tracking
TRUE
DELETE deyimleri çoğaltılır, varsayılan davranıştır.
yanlış
DELETE deyimleri değil çoğaltılır.
Important Note:Ayarı delete_tracking to yanlış sonuçlar yakınsaması ve Silinmiş satırları el ile kaldırılması gerekir.Açıklama
Makale tanımlayıcı girdisi.
destination_owner
Yoksa abonelik veritabanı nesnesinde sahibinin adı dbo.
identity_range
bigint makale varsa, yeni kimlik değerleri atarken kullanılacak aralık boyutunu belirtir identityrangemanagementoption küme to otomatik or auto_identity_range küme to TRUE.Yalnızca tablo makale geçerlidir.Daha fazla bilgi için "Birleştirme çoğaltma" bölümüne bakın. Kimlik sütunları çoğaltılıyor.
identityrangemanagementoption
el ile
Otomatik kimlik aralık yönetimi devre dışı bırakır.Kimlik sütunları el ile kimlik aralık işlemeyi etkinleştirmek IÇIN NOT çoğaltma kullanarak işaretler.Daha fazla bilgi için bkz: Kimlik sütunları çoğaltılıyor.
yok
Tüm kimlik aralık yönetimi devre dışı bırakır.
logical_record_level_conflict_detection
TRUE
Herhangi bir yeri, değişiklik, çakışma algılandı mantıksal kayıt.Gerektirir logical_record_level_conflict_resolution be küme to TRUE.
yanlış
Kullanılan varsayılan çakışma algılama ile belirtilen column_tracking.
logical_record_level_conflict_resolution
TRUE
Tüm kazanan mantıksal kayıt, kaybeden mantıksal kayıt üzerine yazar.
yanlış
Kazanan satırlar mantıksal kayda sınırlı değildir.
partition_options
0
The filtering for the article either is static or does not yield a unique subset of data for each partition, i.e.an "overlapping" partition.
1
Bölümleri üst üste gelen ve DML güncelleştirmeleri Abone tarafında yapılan bir satırın ait olduğu bölümü değiştiremezsiniz.
2
makale için süzme, örtüşmeyen bölümleri verir, ancak birden çok aboneleri, aynı bölüm alabilir.
3
Bu makale için bir süzme her abonelik için benzersiz olan çakışmayan bölümlerini üretir.
Note:Bir değer belirtirseniz 3 for partition_options, yalnızca bir tek abonelik her bölüm için veri olabilir makale.Yeni Abonelik bir süzgeç ölçütü için varolan aboneliği aynı bölüme çözümler ikinci bir abonelik oluşturulursa, varolan abonelik bırakılır.pre_creation_command
yok
Tablo zaten abone tarafında varsa, hiçbir işlem yapılmaz.
silme
WHERE yan tümcesinde alt küme küme kümesini süzgeç temel alan bir silme verir.
bırakma
Düşme tablo önce onu yeniden oluşturma.
Kes
Hedef Tablo keser.
processing_order
int birleştirme makalelerinde işlem sırasını belirten yayın.
pub_identity_range
bigint bir abone olan bir sunucu için ayrılmış aralığı boyutunu belirleyen abonelik makale varsa identityrangemanagementoption küme to otomatik or auto_identity_range küme to TRUE.Bu kimlik aralık için kendi aboneleri için ayırmaya republishing bir abone rezerve edilir.Yalnızca tablo makale geçerlidir.Daha fazla bilgi için "Birleştirme çoğaltma" bölümüne bakın. Kimlik sütunları çoğaltılıyor.
published_in_tran_pub
TRUE
Ayrıca bir işlem yayımlandıktan yayın.
yanlış
makale ayrıca hareketsel bir yayında yayımlanmıyor.
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ücüler.
schema_option (bit eşlem)
Daha fazla bilgi için bu konunun ilerleyen bölümlerindeki Açıklamalar bölümüne bakın.
0x00
Anlık Görüntü Aracısı tarafından komut dosyası kullanan kullanan dosyası kullanan devre dışı bırakır ve sağlanan komut dosyası kullanan kullanan dosyasını kullanır. creation_script.
0x01
Nesne oluşturma komut (CREATE tablo, CREATE PROCEDURE vb.) oluşturur.
0x10
Ilgili kümelenmiş dizin oluşturur.
0x20
Abone veri türlerini temel kullanıcı tanımlı veri türleri dönüştürür.Olduğunda kullanıcı tanımlı tür (UDT) sütununda, bir CHECK veya VARSAYıLAN kısıtlama UDT sütunu birincil anahtarının parçası veya hesaplanan sütun UDT sütun başvuruyorsa, bu seçenek kullanılamaz.
0x40
Ilgili kümelenmemiş dizin oluşturur.
0x80
Birincil anahtarlar üzerinde bildirilen bilgi tutarlılığı'nı içerir.
0x100
Bir tablo makale üzerinde kullanıcı Tetikleyicileri tanımlanmışsa çoğaltır.
0x200
yabancı anahtar kısıtlamaları çoğaltır.Başvurulan tablonun yayın bir parçası değilse, yayımlanmış bir tablonun tüm yabancı anahtar kısıtlamaları çoğaltılmaz.
0x400
CHECK kısıtlamaları çoğaltır.
0x800
Varsayılan olarak çoğaltılır.
0x1000
sütun düzeyinde harmanlama çoğaltır.
0x2000
Genişletilmiş Özellikler yayımlanmış kaynak nesne ilişkili çoğaltır.
0x4000
Benzersiz anahtarlar, bir tablo makale tanımlanmışsa çoğaltır.
0x8000
ALTER tablo deyimi kısıtlamaları komut dosyası kullanan kullanan dosyası kullanan zaman oluşturur.
0x10000
Böylece, eşitleme sırasında kısıtlamalar zorlandığı CHECK kısıtlamaları NOT FOR çoğaltma çoğaltılır.
0x20000
Böylece, eşitleme sırasında kısıtlamalar zorlandığı yabancı anahtar kısıtlamaları NOT FOR çoğaltma çoğaltılır.
0x40000
bölümlenmiş tablo veya dizin ile ilişkili dosya gruplarını çoğaltır.
0x80000
bölümlenmiş tablo için bölümleme düzeni çoğaltır.
0x100000
bölümlenmiş dizin için bölümleme düzeni çoğaltır.
0x200000
Çoğaltır istatistik tablosu.
0x400000
Varsayılan bağlantılar çoğaltır.
0x800000
Bağlantılar çoğaltır kural
0x1000000
Tam metin dizinine kopyalar.
0x2000000
XML şema koleksiyonları bağlı xml sütunları çoğaltılmaz.
0x4000000
Üzerinde dizin çoğaltır. xml sütunlar.
0x8000000
Zaten mevcut olan şemalar abonelik oluşturun.
0x10000000
Dönüştürür xml sütunları ntext Abone üzerinde.
0x20000000
Büyük nesne veri türleri ((ingilizce) dönüştürür.nvarchar(max), varchar(max), ve varbinary(max))'de sunulan SQL Server 2005 üzerinde desteklenen veri türleri SQL Server 2000. Bu türleri ile nasıl eşleştirildikleri hakkında daha fazla bilgi için "Eşleme yeni veri türleri için önceki sürümler" bölümüne bakın... Bir çoğaltma topolojisi SQL Server birden çok sürümünü kullanma.
0x40000000
Izinleri çoğaltırlar.
0x80000000
yayın bir parçası olmayan herhangi bir nesne bağımlılıkları bırakma girişimi.
0x100000000
Üzerinde belirtilirse FILESTREAM özniteliği çoğaltmak için bu seçeneği kullanın. varbinary(max) sütunlar. Tablolara çoğaltıyorsanız, bu seçeneği belirtin SQL Server 2005 Abonelerin. FILESTREAM sütunları olan tablo çoğaltılıyor SQL Server 2000 Abonelerin desteklenmiyor, bu şema seçeneği ayarlanma şekli olsun. Ilgili seçeneği Bkz: 0x800000000.
0x200000000
Tarih ve saat veri türü () dönüştürür.date, time, datetimeoffset, ve datetime2)'de sunulan SQL Server 2008 önceki sürümlerinde desteklenen veri türleri SQL Server. Bu türleri ile nasıl eşleştirildikleri hakkında daha fazla bilgi için "Eşleme yeni veri türleri için önceki sürümler" bölümüne bakın... Bir çoğaltma topolojisi SQL Server birden çok sürümünü kullanma.
0x400000000
Veri ve dizinler için sıkıştırma seçeneğini çoğaltır.Daha fazla bilgi için bkz: Sıkıştırılmış tablolar ve dizinler oluşturma.
0x800000000
küme dosya grubu abone adresindeki FILESTREAM veri saklamak için bu seçeneği.Bu seçenek, küme, FILESTREAM veriler üzerinde varsayılan dosya grubu depolanır.Çoğaltma dosya gruplarını oluşturun; bu seçeneği ayarlarsanız, rapor anlık görüntü görüntü görüntüsünü abone adresindeki uygulamadan önce bu nedenle, dosya grubu oluşturmanız gerekir.Rapor anlık görüntü görüntü görüntüsünü uygulamadan önce nesneleri oluşturma hakkında daha fazla bilgi için bkz: Önce ve sonra rapor anlık görüntüsünü uygulanan komut dosyalarını çalıştırma.
Ilgili seçeneği Bkz: 0x100000000.
0x1000000000
Ortak dil çalışma zamanı (CLR) kullanıcı tanımlı türler (UDTs) dönüştürür varbinary(max) Böylece, sütunu Tür UDT çalışan aboneleri için çoğaltılabilir. SQL Server 2005.
0x2000000000
Dönüştürür hierarchyid veri türü için varbinary(max) Böylece sütun türü hierarchyid çalışmakta olan aboneleri için çoğaltılabilir SQL Server 2005. Daha fazla bilgi için kullanma hakkında hierarchyid Yinelenen tablolar, sütunlar Bkz: hierarchyid (Transact-SQL).
0x4000000000
Süzülmüş bir tablo dizinleri çoğaltır.Süzülmüş dizinler hakkında daha fazla bilgi için bkz: Süzülmüş dizin tasarım yönergeleri.
0x8000000000
Dönüştürür geography ve geometry veri türleri varbinary(max) Böylece, sütunların bu türleri çalışan aboneleri için çoğaltılabilir. SQL Server 2005.
0x10000000000
Sütun türü dizinlerde çoğaltır. geography ve geometry.
null
Sistem otomatik-makale geçerli şema seçeneği oluşturur.
Durum
Etkin
Tablo yayımlamak için ilk işleme komut dosyasını çalıştırın.
unsynced
Tablo yayımlamak için ilk işlem komut dosyası, anlık görüntü Aracısı sonraki çalıştırdığında çalıştırılır.
stream_blob_columns
TRUE
Bir veri akışı en iyi duruma getirme ikili büyük nesne sütunları çoğaltma yapılırken kullanılır.Ancak, mantıksal kayıtları gibi belirli birleştirme çoğaltma işlevleri hala akış en iyileştirme kullanılmasını engeller.
Important Note:Birleştirme Aracısı'nın performansını eşitleme sırasında bu belleği en iyi duruma getirme etkinleştirme zararı.Bu seçenek yalnızca megabayt veri içeren sütunlar çoğaltma yapılırken kullanılır.yanlış
Ikili büyük nesne sütunları çoğaltma yapılırken, en iyi duruma getirme işlemini kullanılmaz.
subscriber_upload_options
0
Güncelleştirmeleri kısıtlama, bir istemci abone olan bir abonelik sırasında yapılan; değişiklikler için karşıya Yayımcı.Bu özellik değiştirme, varolan gerek duyabilir aboneleri yeniden.
1
Bir abone bir istemciyle adresindeki değişikliğine izin verilmediğinden abonelik, ancak yayımcıya karşıya.
2
Değişiklikleri bir abone bir istemci aboneliği ile verilmez.
subset_filterclause
Yatay süzme belirten WHERE yan tümce.Yalnızca bir tablo makale geçerlidir.
Important Note:Performansı düşürmemek için işlevler için süzgeç yan tümceleri parametreli satır, sütun adları gibi uyguladığınız değil önerilir LEFT([MyColumn]) = SUSER_SNAME(). Kullanıyorsanız host_name Filtre yan tümce ve geçersiz kılma değeri HOST_NAME kullanarak veri türleri dönüştürmeniz gerekirDÖNÜŞTÜRME.Bu servis talebiyle ilgili en iyi yöntemler hakkında daha fazla bilgi için "HOST_NAME() değeri geçersiz kılma" bölümüne bakın Parametreli satır süzgeçleri.Eşiği
Percentage value used for Subscribers running SQL Server Compact 3.5 SP1 or earlier versions of SQL Server.threshold controls when the Merge Agent assigns a new identity range.Yüzde eşik için belirtilen değer kullanıldığında, Birleştirme Aracısı yeni bir kimlik aralık oluşturur.Ne zaman kullanılır identityrangemanagementoption is küme to otomatik or auto_identity_range is küme to TRUE.Yalnızca tablo makale geçerlidir.Daha fazla bilgi için "Birleştirme çoğaltma" bölümüne bakın. Kimlik sütunları çoğaltılıyor.
verify_resolver_signature
1
Güvenilir olup olmadığını belirlemek için özel bir çözümleyici sayısal imza doğrulanır kaynak.
0
Güvenilir bir kaynaktan olup olmadığını belirlemek için özel bir çözümleyici sayısal imza doğrulanır.
NULL (default)
Desteklenen değerler listesini verir. property.
[ @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 birleştirme makale yapılan değişiklikleri geçersiz olduğu anlık görüntü neden belirtir.saklı yordam değişiklik yeni bir anlık görüntü gerektirmez algılarsa, bir hata oluşuyor ve değişiklik yapılmaz.
1 birleştirme makale değiştirir anlamına gelir anlık geçersiz olduğu neden olabilir ve geçersiz olarak işaretlenmesi için varolan anlık görüntüsünü ve oluşturulan yeni bir anlık görüntü için yeni bir anlık görüntü gerektiren varolan abonelikler varsa izin verir.
Özellikleri için Açıklamalar bölümüne bakın, değiştirdiğinizde, yeni bir anlık görüntü oluşturmayı gerektirir.
[ @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 değişiklikleri birleştirme makale yeniden abonelik neden belirtir.saklı yordam değişikliği yeniden için varolan abonelikler gerektiğini algılarsa, bir hata oluşuyor ve değişiklik yapılmaz.
1 birleştirme makale yapılan değişiklikler, yeniden, , varolan abonelikler neden gösterir ve abonelik reinitialization, yapılmasına izin verir.
Özellikleri için Açıklamalar bölümüne bakın, değiştirdiğinizde, tüm varolan abonelikler yeniden gerekir.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Remarks
sp_changemergearticle birleştirme çoğaltmasında kullanılır.
Çünkü sp_changemergearticle kullanarak başlangıçta belirtilen makale özelliklerini değiştirmek için kullanılırsp_addmergearticle, refer to sp_addmergearticle bu özellikler hakkında daha fazla bilgi için.
Aşağıdaki özellikleri değiştirme, yeni bir anlık görüntü oluşturulmasını gerektirir ve bu değeri belirtmeniz gerekir 1 for the force_invalidate_snapshot Parametre:
check_permissions
column_tracking
destination_owner
pre_creation_cmd
schema_options
subset_filterclause
Aşağıdaki özelliklerini değiştirirken varolan gerektirir abonelikler yeniden, ve bir değer belirtmeniz gerekir 1 for the force_reinit_subscription Parametre:
check_permissions
column_tracking
destination_owner
subscriber_upload_options
subset_filterclause
3 Için bir değeri belirtirken partition_options, meta veriler temizlenir her Birleştirme Aracısı çalışır ve daha hızlı bir şekilde bölümlenmiş anlık görüntü süresi doluyor.Bu seçeneği kullanırken, abone etkinleştirme bölümlenmiş anlık görüntü olarak istenen düşünmelisiniz.Daha fazla bilgi için bkz: Anlık görüntüler için birleştirme yayınları ile parametreli hale getirilmiş süzgeçleri.
Ayarlarken column_tracking Tablo birleştirme diğer yayınlarda önceden yayınlanmışsa özellik, izleme sütun değeri bu tabloyu temel alan varolan makaleleri tarafından kullanılan ile aynı olmalıdır. Bu parametre, yalnızca tablo makaleleri özgüdür.
Birden çok yayın aynı temel temel alarak makaleleri yayımlamak, tablo, değişen delete_tracking özellik ya dacompensate_for_errors özellik, bir makale için aynı değişiklik aynı temel alan diğer makalelere yapılmasına neden olan tablo.
Birleştirme işlemi tarafından kullanılan Yayımcı oturum açma/kullanıcı hesabının doğru tablo izinleri yoksa, değişiklikleri geçersiz çakışma kaydedilir.
Değerini değiştirirken schema_option, sistem, bir bit güncelleştirmesi gerçekleştirmez.Bunun anlamı schema_option using sp_changemergearticlebit ayarları varolan, kapalı olabilir.Varolan ayarları korumak için gerçekleştirmeniz & (Bitwise VE) geçerli değerini, ayarlamakta olduğunuz değeri arasındakischema_optionyürüterek belirlenen sp_helpmergearticle.
Geçerli şema seçeneği tablo
The following table describes the allowed schema_optionvalues, depending on article type.
Makale türü |
Şema seçenek değerleri |
---|---|
işlev şema |
0x01 and 0x2000 |
dizinli görünüm şema |
0x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000, and 0x200000 |
yalnızca şema işlem |
0x01 and 0x2000 |
tablo |
Tüm Seçenekler. |
yalnızca görünüm şema |
0x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000, and 0x200000 |
İzinler
Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü çalıştırabilirsinizsp_changemergearticle.
See Also