sp_addmergefilter (Transact-SQL)
birleştirmek ile başka bir tabloya dayalı bir bölüm oluşturmak için yeni bir birleştirmek süzgeci ekler.Bu saklı yordam, yayın Veritabanı yayımcısına sırasında yürütülür.
sp_addmergefilter [ @publication = ] 'publication'
, [ @article = ] 'article'
, [ @filtername = ] 'filtername'
, [ @join_articlename = ] 'join_articlename'
, [ @join_filterclause = ] join_filterclause
[ , [ @join_unique_key = ] join_unique_key ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ , [ @filter_type = ] filter_type ]
Bağımsız değişkenler
[ @publication= ] 'publication'
Is the name of the publication in which the merge filter is being added.publication is sysname, with no default.[ @article= ] 'article'
Is the name of the article on which the merge filter is being added.article is sysname, with no default.[ @filtername= ] 'filtername'
Is the name of the filter.filtername is a required parameter.filternameis sysname, with no default.[ @join_articlename= ] 'join_articlename'
Is the parent article to which the child article, specified by article, must be joined using the join clause specified by join_filterclause, in order to determine the rows in the child article that meet the filter criterion of the merge filter.join_articlename is sysname, with no default.Yayın tarafından verilen makale olmalıdır publication.[ @join_filterclause= ] join_filterclause
Is the join clause that must be used to join the child article specified by articleand parent article specified by join_article, in order to determine the rows qualifying the merge filter.join_filterclause is nvarchar(1000).[ @join_unique_key= ] join_unique_key
Specifies if the join between child article articleand parent article join_articleis one-to-many, one-to-one, many-to-one, or many-to-many.join_unique_key is int, with a default of 0.0 çoktan bire veya çoktan-çok birleştirmek gösterir.1 tekliden tekliye veya bir-çok birleştirmek gösterir.Bu değer 1 katılan sütunlar benzersiz bir anahtar oluşturduğunuzda join_article, veya join_filterclause bir yabancı anahtar olarak arasında article ve bir birincil anahtar join_article.Uyarı
Yalnızca küme bu parametre için 1 benzersizliği güvence altına alır, ana makale temel alınan tablo sütun katılan bir kısıtlama varsa.If join_unique_key ayarlamak 1 yakınsama veri hatalı oluşabilir.
[ @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 0.0 birleştirme makale yapılan değişiklikleri geçersiz olduğu anlık görüntü neden olmaz belirtir.saklı yordam değişiklik yeni bir anlık görüntü gerektirmez algılarsa, bir hata ortaya çıkar ve hiçbir değişiklik yapılmayacak.
1 birleştirme makale değişiklikler geçersiz olduğu anlık görüntü 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 belirtir.
[ @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 olmaz belirtir.saklı yordam değişikliği aboneliklerine yeniden için gerektiğini algılarsa, bir hata ortaya çıkar ve hiçbir değişiklik yapılmayacak.
1 değişiklikleri birleştirme makale yeniden, , varolan abonelikler oluşturacağını belirtir ve abonelik reinitialization, yapılmasına izin verir.
[ @filter_type= ] filter_type
Specifies the type of filter being added.filter_type is tinyint, and can be one of the following values.Değer
Açıklama
1
birleştirmek filtresi yalnızca.Desteklemek için gereken SQL Server Compact 3.5 SP1 Abonelerin.
2
Yalnızca mantıksal kayıt ilişkidir.
3
Her ikisi de birleştirmek filtresi ve mantıksal kayıt ilişki.
Daha fazla bilgi için bkz: Değişiklikleri mantıksal kayıtlarıyla ilgili satırları gruplandırma.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Remarks
sp_addmergefilter birleştirme çoğaltmasında kullanılır.
sp_addmergefilter yalnızca tablo makalelerle birlikte kullanılabilir.Görünüm ve dizinlenmiş görünümün makaleleri desteklenmez.
This procedure can also be used to add a logical relationship between two articles that may or may not have a join filter between them.filter_type is used to specify if the merge filter being added is a join filter, a logical relation, or both.
Mantıksal kayıtlarını kullanmak için , yayın ve makaleleri bir dizi gereksinimleri karşılamalıdır.Daha fazla bilgi için bkz: Değişiklikleri mantıksal kayıtlarıyla ilgili satırları gruplandırma.
Yayımlanmış bir birincil anahtar bir yabancı anahtar başvurusu içeren bir makale için bu seçenek genellikle kullanılan tablo ve birincil anahtar tablo, makalede tanımlanan bir süzgeç sahiptir.Birincil anahtar satır alt küme küme abone için çoğaltılan yabancı anahtar satırları belirlemek için kullanılır.
Her iki makaleler için kaynak tablolar aynı tablo nesne adı paylaştırdığınızda iki yayımlanmış makaleleri arasında bir birleştirmek filtre eklenemiyor.Böyle bir durumda, bile, her iki tabloyu farklı şemalar tarafından ait olan ve benzersiz bir makale adları, birleştirmek filtresi oluşturma başarısız olur.
parametreli satır filtresi hem de birleştirmek filtresi bir tabloya makale kullanıldığında, çoğaltma satır abone'nın bölüme ait olup olmadığını belirler.Bunu işlev süzme veya birleştirmek filtresi değerlendirerek yapar (kullanarak VEYA işleç) yerine, kesişim ( kullanarak iki koşul değerlendiriliyorVE işleç).
İzinler
Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü çalıştırabilirsinizsp_addmergefilter.
See Also