sp_articleview (Transact-sql)

Bir tabloyu dikey veya yatay olarak filtre uygulandığında yayımlanmış bir makaleye tanımlar görünümü oluşturur. Bu görünümü şema ve veri filtre uygulanmış kaynağı olarak hedef tablolar için 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ı simgesi Transact-SQL Sözdizim 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'
    Makaleyi içeren Yayını addır. publicationise sysname, hiçbir varsayılan ile.

  • @article='article'
    Makaleyi addır. articleise sysname, hiçbir varsayılan ile.

  • @view_name='view_name'
    Yayımlanmış bir makaleye tanımlar görünümü adıdır. view_name olan nvarchar(386), null varsayılan.

  • @ filter_clause ='filter_clause'
    Bir kısıtlama yatay bir filtre tanımlar (nerede) yan tümcesi. Kısıtlama yan tümcesi girerken, where anahtar sözcüğü atlayın. filter_clauseise ntext, null varsayılan.

  • @ change_active = change_active
    Abonelikleri bulunan yayınları sütunları değiştirme izin verir. change_activeolan bir int, varsayılan 0. Eğer 0, sütun değişmez. Eğer 1, görünümleri oluşturulabilir veya abonelikler etkin makaleleri üzerinde yeniden.

  • @ force_invalidate_snapshot = force_invalidate_snapshot
    Bu saklı yordam tarafından gerçekleştirilen eylemi varolan bir anlık görüntüsünü geçersiz kılabilir kabul eder. force_invalidate_snapshotolan bir bit, varsayılan 0.

    0 makaleyi değişiklikleri anlık geçersiz neden olmaz belirtir. Saklı yordam değiştirmek yeni bir anlık görüntü gerektirecek algılarsa, bir hata oluşur ve değişiklik yapılmaz.

    1 makaleyi değişiklikleri anlık geçersiz 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 izni verir ve yeni bir anlık görüntü oluşturulan belirtir.

  • **@ force_reinit_subscription =**force_reinit_subscription
    Bu saklı yordam tarafından gerçekleştirilen eylemi varolan abonelikleri yeniden gerektirdiğine dikkat eder. force_reinit_subscriptionolan bir bit varsayılan 0.

    0 makale değişiklikleri abonelik yeniden neden olmaz belirtir. Saklı yordam yeniden abonelikleri değişikliği gerektirecek algılarsa, bir hata oluşur ve değişiklik yapılmaz.

    1 makale değişiklikler neden yeniden, varolan bir aboneliği belirtir ve abonelik reinitialization yapılmasına izin verir.

  • @ publisher=] 'publisher'
    Olmayan bir belirtir- Microsoft   SQL Server Yayınevi. publisherise sysname, null varsayılan.

    [!NOT]

    publisherdan yayımlarken kullanılmamalıdır bir SQL ServerYayınevi.

  • @ refreshsynctranprocs =]refreshsynctranprocs
    Çoğaltmayı eşitlemek için kullanılan saklı yordamlar otomatik olarak yeniden eğer var. refreshsynctranprocsise bit, 1 varsayılan.

    1 saklı yordamları yeniden anlamına gelir.

    0 saklı yordamları yeniden değildir anlamına gelir.

  • @internal= ] 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 (hata)

Açıklamalar

sp_articleview bu görünümde kimliği ekler ve yayımlanmış bir makaleye tanımlar görünümü oluşturur sync_objid sütununda sysarticles (Transact-sql)tablo ve kısıtlama yan tümcesi metnini ekler filter_clause sütun. Tüm sütunları çoğaltılan ve varsa hiç filter_clause, sync_objid de sysarticles (Transact-sql)tablo Kımlığı temel tablo ve kullanımı için ayarlanmış sp_articleview gerekli değildir.

Dikey olarak süzülmüş tablo yayımlamak için (yani, filtre sütunlara) ilk çalıştırma sp_addarticle no ile sync_object parametresi, koşmak sp_articlecolumn (Transact-sql)(dikey filtre tanımlama) çoğaltılan, ve o zaman koşmak her sütun için bir kez sp_articleview yayımlanmış bir makaleye tanımlar görünümü oluşturmak için.

Yatay olarak süzülmüş tablo yayımlamak için (yani, filtre satırları), koşmak eşdeğerdirsp_addarticle (Transact-sql)no ile filtre parametresi. Koşmak sp_articlefilter (Transact-sql), dahil tüm parametreleri sağlayan filter_clause. O zaman koşmak sp_articleview, aynı dahil tüm parametreleri sağlayan filter_clause.

Yatay ve dikey olarak süzülmüş tablo yayımlamak için çalışan eşdeğerdirsp_addarticle (Transact-sql)no ile sync_object veya filtre parametreleri. Koşmak sp_articlecolumn (Transact-sql)Çoğaltılmış, ve o zaman koşmak 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 yeni bir otomatik olarak oluşturur ve varolan bir görünümü düşer. Görünüm el ile oluşturduysanız (türü içinde sysarticles (Transact-sql)olan 5), varolan bir görünümü değildir bırakılır.

Eğer bir özel filtre depolanan yordamı ve el ile yayımlanmış bir makaleye tanımlar görünümü oluşturmak değil koşmak sp_articleview. Bunun yerine, bu kadar sağlamak filtre ve sync_object parametreleri eşdeğerdirsp_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ü yürütebilirsiniz sp_articleview.

Ayrıca bkz.

Başvuru

eşdeğerdirsp_addarticle (Transact-sql)

sp_articlefilter (Transact-sql)

veyasp_changearticle (Transact-sql)

sp_droparticle (Transact-sql)

eşdeğerdirsp_helparticle (Transact-sql)

Çoğaltma depolanan yordamlar (Transact-sql)

Kavramlar

Bir makale tanımlamak

Tanımla ve statik satır filtre Değiştir