Aracılığıyla paylaş


sp_articlefilter (Transact-SQL)

Yayımlanan temel verilere filtre bir tablo makale.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_articlefilter [ @publication = ] 'publication'
        , [ @article = ] 'article'
    [ , [ @filter_name = ] 'filter_name' ]
    [ , [ @filter_clause = ] 'filter_clause' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
    [ , [ @publisher = ] 'publisher' ]

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.

  • [ @filter_name=] 'filter_name'
    Is the name of the filter stored procedure to be created from the filter_name.filter_name is nvarchar(386), with a default of NULL.Makale filtre için benzersiz bir ad belirtmeniz gerekir.

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

  • [ @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 gerek 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 abonelikleri 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

    publisherile kullanılmamalıdır bir SQL Server Yayımcı.

Dönüş Kodu Değerleri

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

Açıklamalar

sp_articlefilter anlık görüntü çoğaltması çoğaltması çoğaltma ve işlem çoğaltma kullanılır.

Yürütme sp_articlefilter gerektiren varolan Abonelikleri içeren bir makale için bu abonelikleri yeniden.

sp_articlefilter filtreyi oluşturur, Teşhis kodu filtresi ekler saklı yordam de filtre sütunu sysarticles (Transact-SQL) Tablo ve metin içinde kısıtlama yan tümce tümce tümce ekler filter_clause sütun.

Bir makale ile yatay bir filtre oluşturmak için yürütmek sp_addarticle (Transact-SQL) no ile filter parametresi.yürütmek sp_articlefilter, dahil olmak üzere tüm parametreleri sağlayan filter_clauseve sonra yürütmek sp_articleview (Transact-SQL), tüm parametreler de dahil olmak üzere aynı sağlama filter_clause.Filtre zaten varsa ve türü de sysarticles olan 1 (günlük tabanlı makale) önceki süzgeç silinir ve yeni bir filtre oluşturulur.

If filter_name and filter_clause are not provided, the previous filter is deleted and the filter ID is set to 0.

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