Udostępnij za pośrednictwem


sp_articleview (języka Transact-SQL)

Tworzy widok, który definiuje opublikowanego artykuł, gdy tabela jest filtrowana pionowo lub poziomo.Ten widok jest używany jako źródło filtrowane schematu i danych dla obiekt docelowy tabele.Tylko artykułów objętych subskrypcją może być modyfikowany przez tę procedura składowana.Ta procedura składowana jest wykonywany na Wydawca na bazie publikacja.

Ikona łącza do tematuKonwencje składni Transact-SQL

Składnia

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 ]

Argumenty

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

  • [ @ artykuł = '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"
    Ograniczenie jest klauzula (gdzie) definiujący poziome filtru.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.Jeśli 0, kolumny nie są zmieniane.Jeśli 1, widoków można utworzyć lub utworzony na aktywne artykułów, których subskrypcji.

  • [ @ 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 określa zmiany artykuł nie powodują migawka się nieprawidłowy.Jeżeli procedura składowana wykryje, że zmiana wymaga Nowa migawka, wystąpi błąd i nie wprowadzono żadnych zmian.

    1 Określa, że zmiany w artykuł może spowodować migawki nieprawidłowa, a w przypadku istniejących subskrypcji, wymagające Nowa migawka daje uprawnienie dla istniejących migawki oznaczony jako przestarzałe i Nowa migawka generowane.

  • [ @ 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 Określa, że nie powodują zmiany artykuł subskrypcja do należy ponownie zainicjować.Jeżeli procedura składowana wykryje, że zmiana wymaga subskrypcji należy ponownie zainicjować, wystąpi błąd i nie wprowadzono żadnych zmian.

    1 Określa, że zmiany w artykuł powoduje istniejących subskrypcja należy ponownie zainicjować i daje uprawnienie dla ponownego zainicjowania subskrypcja występuje.

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

    Ostrzeżenie

    publishernie należy używać podczas publikowania z SQL Server Wydawca.

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

    1 oznacza, że procedury przechowywane są odtworzony.

    0 oznacza, że procedury przechowywane nie jest odtwarzana.

  • [ @ wewnętrznego=] internal
    Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Uwagi

sp_articleview tworzy widok, który definiuje opublikowanego artykuł i wstawia identyfikator tego widoku w sync_objid kolumna sysarticles (języka Transact-SQL) tabela i wstawia tekst klauzula ograniczeń w filter_clause kolumna.Jeśli wszystkie kolumny są replikowane i istnieje nie filter_clause, sync_objid w sysarticles (języka Transact-SQL) Tabela jest zestaw ID tabela bazowa i korzystanie z sp_articleview nie jest wymagane.

Publikowanie pionowo filtrowanej tabela (, będą filtrowane kolumna) pierwszego uruchomienia sp_addarticle bez sync_object parametr uruchamiania sp_articlecolumn (języka Transact-SQL) raz dla każdej kolumna replikowane (Definiowanie filtru pionowego), a następnie uruchomić sp_articleview utworzyć widok, który definiuje opublikowanego artykuł.

Publikowanie poziomo filtrowanej tabela (oznacza to, że filtrowanie wierszy), uruchom sp_addarticle (języka Transact-SQL) bez filtru parametru.Uruchom sp_articlefilter (języka Transact-SQL), zapewniających wszystkie parametry, włącznie z filter_clause.Uruchom sp_articleview, zapewniając tym identyczne wszystkich parametrów filter_clause.

Publikowanie pionowo i poziomo filtru tabela, uruchom sp_addarticle (języka Transact-SQL) bez sync_object lub filtru parametry.Uruchom sp_articlecolumn (języka Transact-SQL) raz dla każdej kolumna replikowany, a następnie uruchomienie sp_articlefilter (języka Transact-SQL) i sp_articleview.

Jeśli artykuł jest już w widoku, który definiuje opublikowanego artykułu sp_articleview spadnie istniejący widok i automatycznie tworzy nową.Jeśli widok został utworzony ręcznie (typu w sysarticles (języka Transact-SQL) jest 5), widok nie jest przenoszony.

Jeśli tworzysz procedura składowana filtr niestandardowy i widok, który definiuje opublikowanego artykuł ręcznie, nie uruchamiaj sp_articleview.Zamiast tego dostarcza je jako filtru i sync_object parametry sp_addarticle (języka Transact-SQL), wraz z odpowiednią typu wartości.

Przykład

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

Uprawnienia

Tylko członkowie sysadmin stała rola serwera lub db_owner ustaloną rola bazy danych można wykonać sp_articleview.