sp_articleview (Transact-SQL)

Yayınlanan tanımlar görünümü oluşturur makale ne zaman bir tablo filtre dikey veya yatay olarak.Bu görünüm için hedef tablo şema ve veri filtre uygulanmış kaynak olarak kullanılır.Yalnızca aboneliği makaleleri Bu saklı yordam tarafından değiştirilebilir.Bu saklı yordam, yayın veritabanı üzerinde yayımcı adresindeki yürütülür.

Konu bağlantısı simgesiTransact-sql sözdizimi kuralları

Sözdizimi

sp_articleview [ @publication = ] 'publication'
        , [ @article = ] 'article'
    [ , [ @view_name = ] 'view_name']
    [ , [ @filter_clause = ] 'filter_clause']
    [ , [ @change_active = ] change_active ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
    [ , [ @publisher = ] 'publisher' ]
    [ , [ @refreshsynctranprocs = ] refreshsynctranprocs ]
    [ , [ @internal = ] internal ]

Bağımsız değişkenler

  • [ @publication=] 'publication'
    Is the name of the publication that contains the article.publication is sysname, with no default.

  • [ @article=] 'article'
    Is the name of the article.article is sysname, with no default.

  • [ @view_name=] 'view_name'
    Is the name of the view that defines the published article.view_name is nvarchar(386), with a default of NULL.

  • [ @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 WHERE keyword.filter_clause is ntext, with a default of NULL.

  • [ @change_active = ] change_active
    Allows modifying the columns in publications that have subscriptions.change_active is an int, with a default of 0.If 0, columns are not changed.If 1, views can be created or re-created on active articles that have subscriptions.

  • [ @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 , değişiklikleri belirtir makale anlık görüntü geçersiz olarak neden olmaz.Saklı yordam, yeni bir anlık görüntü gerektirecek bir değişiklik algılarsa, bir hata oluşur ve değişiklik yapılmaz.

    1 , geçersiz olduğu anlık makale değişiklikler neden olabilir ve yeni bir anlık görüntü gerektirecek varolan abonelikleri varsa varolan anlık görüntü geçersiz olarak işaretlenmesi için izin verir ve yeni bir anlık görüntü oluşturulan 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 makale değişiklikleri abonelik yeniden neden belirtir.Saklı yordam yeniden için abonelikleri değişikliği gerektirecek algılarsa, bir hata oluşur ve değişiklik yapılmaz.

    1 , değişiklikleri belirtir makale yeniden, varolan bir aboneliği neden olur ve gerçekleşmesi abonelik reinitialization izni verir.

  • [ @ publisher =] 'publisher'
    Specifies a non-Microsoft SQL Server publisher.publisher is sysname, with a default of NULL.

    Not

    publisherdan yayımlarken kullanılmamalıdır bir SQL Server Yayımcı.

  • [ @ refreshsynctranprocs =] refreshsynctranprocs
    Is if the stored procedures used to synchronize replication are automatically recreated.refreshsynctranprocs is bit, with a default of 1.

    1 saklı yordamları yeniden oluşturulduğunu gösterir.

    0 saklı yordamları yeniden anlamına gelir.

  • [ İç @=] internal
    Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

sp_helpservermakaleview yayımlanan tanımlar görünümü oluşturur makale ve bu görünümde kimliği ekler sync_objid sütunu sysarticles (Transact-SQL) Tablo ve kısıtlama yan tümce tümce tümcesinde metnini ekler filter_clause sütun.Tüm sütunları çoğaltılan ve varsa hiç filter_clause, sync_objid , sysarticles (Transact-SQL) Tablo küme kimliği temel tablo ve kullanımı için sp_articleview gerekli değildir.

Dikey olarak süzülmüş tablo yayımlamak için (yani, filtre sütunlara) ilk çalıştırma sp_addmakale no ile sync_object parametresiyle çalıştırın sp_articlecolumn (Transact-SQL) Çoğaltılmış (dikey filtre tanımlama) ve daha sonra çalıştırmak her sütun için bir kez sp_whomakaleview yayımlanan tanımlar görünümü oluşturmak için makale.

Yatay olarak filtre uygulanmış bir tablo yayımlamak için (yani, filtre uygulamak için satırlar), çalışan sp_addarticle (Transact-SQL) no ile filtre parametresi.Çalıştır sp_articlefilter (Transact-SQL)de dahil olmak üzere tüm parametreleri sağlayarak, filter_clause.Daha sonra çalıştırmak sp_articleview, aynı dahil olmak üzere tüm parametreleri sağlayan filter_clause.

Yatay ve dikey olarak süzülmüş tablo yayımlamak için çalışan sp_addarticle (Transact-SQL) no ile sync_object veya filtre parametreleri.Çalıştır sp_articlecolumn (Transact-SQL) yinelenmiş ve daha sonra çalıştırmak her sütun için bir kez sp_articlefilter (Transact-SQL) ve sp_articleview.

Yayımlanmış bir makaleye tanımlar görünümü makale varsa sp_articleview varolan bir görünümü düşünceye ve yeni bir otomatik olarak oluşturur.Görünüm el ile oluşturduysanız (türü , sysarticles (Transact-SQL) olan 5), varolan bir görünümü düşürülmedi.

Özel bir filtre oluşturursanız, saklı yordam ve el ile yayımlanmış bir makaleye tanımlar görünümü çalıştırın sp_articleview.Bunun yerine, bunları sağlamak filtre ve sync_object parametrelerini sp_addarticle (Transact-SQL), uygun birlikte türü değer.

Ö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_articleview.