Share via


sp_mergearticlecolumn (Transact-sql)

Birleştirme yayını dikey bölümleri. Bu saklı yordam, yayını veritabanı üzerinde yayımcı adresindeki yürütülür.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

sp_mergearticlecolumn [ @publication = ] 'publication'
        , [ @article = ] 'article'
    [ , [ @column = ] 'column'
    [ , [ @operation = ] 'operation' 
    [ , [ @schema_replication = ] 'schema_replication' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ] 
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ] 

Bağımsız değişkenler

  • @ publication ='publication'
    Yayını addır. Publicationise sysname, hiçbir varsayılan ile.

  • @article ='article'
    Yayındaki makale adıdır. articleise sysname, hiçbir varsayılan ile.

  • @column ='column'
    Dikey bölümü oluşturmak istediğiniz sütunları tanımlar. columnise sysname, null varsayılan. BOŞ ise ve @operation = N'add', kaynak tablodaki tüm sütunlar varsayılan olarak yazıya eklenir. columnne zaman null olamaz operationayarı bırak. Bir makale sütunları dışlamak için yürütme sp_mergearticlecolumn ve columnve @operation = N'drop'kaldırılacak her sütun için belirtilen dan article.

  • işlem ='operation'
    Çoğaltma durumudur. operationise nvarchar(4), null varsayılan. ekleme sütun çoğaltma için işaretler. damla sütunu siler.

  • @ YANLıŞschema_replication ='schema_replication'
    Birleştirme aracı çalıştırıldığında bir şema değişikliği aktarılacaktır belirtir. schema_replicationise nvarchar(5), false varsayılan.

    [!NOT]

    Sadece yanlış desteklenip schema_replication.

  • @ force_invalidate_snapshot = force_invalidate_snapshot
    Etkinleştirir veya bir anlık görüntüsünü geçersiz kılınan yeteneği devre dışı bırakır. force_invalidate_snapshotolan bir bit, varsayılan 0.

    0 geçersiz olduğu anlık görüntüsünü birleştirme makale değişiklikler neden olmaz belirtir.

    1 belirtir geçersiz olduğu anlık görüntüsünü birleştirme makale değişiklikler neden olabilir ve bu durumda, değer olarak ise 1 yeni anlık görüntü ortaya izni verir.

  • **@ force_reinit_subscription =**force_reinit_subscription
    Etkinleştirir veya abonelik reinitializated yeteneği devre dışı bırakır. force_reinit_subscriptionVarsayılan ile biraz 's 0.

    0 birleştirme makale değişiklikleri abonelik yeniden neden olmaz belirtir.

    1 belirtir birleştirme makale değişiklikleri abonelik yeniden neden olabilir ve bu durumda, değer olarak ise 1 ve abonelik reinitialization yapılmasına izin verir.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Açıklamalar

sp_mergearticlecolumn birleştirme çoğaltması kullanılır.

Otomatik kimlik aralığı yönetimi kullanılırsa, kimlik sütunu makale bırakılan. Daha fazla bilgi için, bkz. Kimlik sütunları çoğaltma.

Ilk anlık görüntüsünü oluşturduktan sonra yeni dikey bölüm uygulama ayarlar, yeni bir anlık görüntü oluşturulan ve her abonelik yeniden. Sonraki anlık ve dağıtım veya Birleştirme Aracısı Çalıştır zamanlanan anlık uygulanır.

Satır izleme için çakışma algılama (varsayılan) kullandıysanız, en fazla 1024 sütun temel tablo içerebilir, ancak böylece en fazla 246 sütun yayımlanmış makale sütun filtre gerekir. Sütun izleme kullanılıyorsa, temel tablo en fazla 246 sütun içerebilir.

Örnek

DECLARE @publication AS sysname;
DECLARE @table1 AS sysname;
DECLARE @table2 AS sysname;
DECLARE @table3 AS sysname;
DECLARE @salesschema AS sysname;
DECLARE @hrschema AS sysname;
DECLARE @filterclause AS nvarchar(1000);
SET @publication = N'AdvWorksSalesOrdersMerge'; 
SET @table1 = N'Employee'; 
SET @table2 = N'SalesOrderHeader'; 
SET @table3 = N'SalesOrderDetail'; 
SET @salesschema = N'Sales';
SET @hrschema = N'HumanResources';
SET @filterclause = N'Employee.LoginID = HOST_NAME()';

-- Add a filtered article for the Employee table.
EXEC sp_addmergearticle 
  @publication = @publication, 
  @article = @table1, 
  @source_object = @table1, 
  @type = N'table', 
  @source_owner = @hrschema,
  @schema_option = 0x0004CF1,
  @description = N'article for the Employee table',
  @subset_filterclause = @filterclause;

-- Add an article for the SalesOrderHeader table that is filtered
-- based on Employee and horizontally filtered.
EXEC sp_addmergearticle 
  @publication = @publication, 
  @article = @table2, 
  @source_object = @table2, 
  @type = N'table', 
  @source_owner = @salesschema, 
  @vertical_partition = N'true',
  @schema_option = 0x0034EF1,
  @description = N'article for the SalesOrderDetail table';

-- Add an article for the SalesOrderDetail table that is filtered
-- based on SaledOrderHeader.
EXEC sp_addmergearticle 
  @publication = @publication, 
  @article = @table3, 
  @source_object = @table3, 
  @source_owner = @salesschema,
  @description = 'article for the SalesOrderHeader table', 
  @identityrangemanagementoption = N'auto', 
  @pub_identity_range = 100000, 
  @identity_range = 100, 
  @threshold = 80,
  @schema_option = 0x0004EF1;

-- Add all columns to the SalesOrderHeader article.
EXEC sp_mergearticlecolumn 
  @publication = @publication, 
  @article = @table2, 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Remove the credit card Approval Code column.
EXEC sp_mergearticlecolumn 
  @publication = @publication, 
  @article = @table2, 
  @column = N'CreditCardApprovalCode', 
  @operation = N'drop', 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Add a merge join filter between Employee and SalesOrderHeader.
EXEC sp_addmergefilter 
  @publication = @publication, 
  @article = @table2, 
  @filtername = N'SalesOrderHeader_Employee', 
  @join_articlename = @table1, 
  @join_filterclause = N'Employee.BusinessEntityID = SalesOrderHeader.SalesPersonID', 
  @join_unique_key = 1, 
  @filter_type = 1, 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Add a merge join filter between SalesOrderHeader and SalesOrderDetail.
EXEC sp_addmergefilter 
  @publication = @publication, 
  @article = @table3, 
  @filtername = N'SalesOrderDetail_SalesOrderHeader', 
  @join_articlename = @table2, 
  @join_filterclause = N'SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID', 
  @join_unique_key = 1, 
  @filter_type = 1, 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;
GO

İzinler

Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü yürütebilirsiniz sp_mergearticlecolumn.

Ayrıca bkz.

Başvuru

Çoğaltma depolanan yordamlar (Transact-sql)

Kavramlar

Tanımla ve birleştirme makaleleri arasında birleştirme filtre Değiştir

Tanımla ve birleştirme makalesi Parametreli satır filtre Değiştir

Yayımlanmış veri süzme