sp_articlecolumn (Transact-SQL)sp_articlecolumn (Transact-SQL)

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Usado para especificar colunas incluídas em um artigo para filtrar dados verticalmente em uma tabela publicada.Used to specify columns included in an article to vertically filter data in a published table. Esse procedimento armazenado é executado no Publicador, no banco de dados publicador.This stored procedure is executed at the Publisher on the publication database.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

  
sp_articlecolumn [ @publication = ] 'publication'  
        , [ @article = ] 'article'  
    [ , [ @column = ] 'column' ]  
    [ , [ @operation = ] 'operation' ]  
    [ , [ @refresh_synctran_procs = ] refresh_synctran_procs ]  
    [ , [ @ignore_distributor = ] ignore_distributor ]  
    [ , [ @change_active = ] change_actve ]  
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]  
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]  
    [ , [ @publisher = ] 'publisher' ]  
    [ , [ @internal = ] 'internal' ]  

ArgumentosArguments

[ @publication = ] 'publication' É o nome da publicação que contém esse artigo.[ @publication = ] 'publication' Is the name of the publication that contains this article. publicação está sysname, sem padrão.publication is sysname, with no default.

[ @article = ] 'article' É o nome do artigo.[ @article = ] 'article' Is the name of the article. artigo está sysname, sem padrão.article is sysname, with no default.

[ @column = ] 'column' É o nome da coluna a ser adicionada ou descartada.[ @column = ] 'column' Is the name of the column to be added or dropped. coluna está sysname, com um padrão NULL.column is sysname, with a default of NULL. Se for NULL, todas as colunas serão publicadas.If NULL, all columns are published.

[ @operation = ] 'operation' Especifica se deve adicionar ou remover colunas em um artigo.[ @operation = ] 'operation' Specifies whether to add or drop columns in an article. operação está nvarchar (5) , com um padrão de add.operation is nvarchar(5), with a default of add. Adicionar marca a coluna para replicação.add marks the column for replication. Descartar desmarca a coluna.drop unmarks the column.

[ @refresh_synctran_procs = ] refresh_synctran_procs Especifica se os procedimentos armazenados que dão suporte a assinaturas de atualização imediata são gerados para corresponder ao número de colunas replicadas.[ @refresh_synctran_procs = ] refresh_synctran_procs Specifies whether the stored procedures supporting immediate updating subscriptions are regenerated to match the number of columns replicated. refresh_synctran_procs está bit, com um padrão de 1.refresh_synctran_procs is bit, with a default of 1. Se 1, os procedimentos armazenados são gerados.If 1, the stored procedures are regenerated.

[ @ignore_distributor = ] ignore_distributor Indica se esse procedimento armazenado será executado sem conexão com o distribuidor.[ @ignore_distributor = ] ignore_distributor Indicates if this stored procedure executes without connecting to the Distributor. ignore_distributor está bit, com um padrão de 0.ignore_distributor is bit, with a default of 0. Se 0, o banco de dados deve ser habilitado para publicação e o cache de artigo deve ser atualizado para refletir as novas colunas replicadas por esse artigo.If 0, the database must be enabled for publishing, and the article cache should be refreshed to reflect the new columns replicated by the article. Se 1, permite que colunas de artigos sejam descartadas para artigos que residem em um banco de dados não publicado; devem ser usados somente em situações de recuperação.If 1, allows article columns to be dropped for articles that reside in an unpublished database; should be used only in recovery situations.

[ @change_active = ] change_active Permite modificar as colunas em publicações que têm assinaturas.[ @change_active = ] change_active Allows modifying the columns in publications that have subscriptions. change_active é um int com um padrão de 0.change_active is an int with a default of 0. Se 0, colunas não são modificadas.If 0, columns are not modified. Se 1, colunas podem ser adicionadas ou descartadas de artigos ativos que têm assinaturas.If 1, columns can be added or dropped from active articles that have subscriptions.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot Confirma que a ação tomada por esse procedimento armazenado pode invalidar um instantâneo existente.[ @force_invalidate_snapshot = ] force_invalidate_snapshot Acknowledges that the action taken by this stored procedure may invalidate an existing snapshot. force_invalidate_snapshot é um bit, com um padrão de 0.force_invalidate_snapshot is a bit, with a default of 0.

0 Especifica que as alterações no artigo fazem com que o instantâneo seja inválido.0 specifies that changes to the article do not cause the snapshot to be invalid. Se o procedimento armazenado detectar que a alteração requer um novo instantâneo, ocorrerá um erro e nenhuma alteração será feita.If the stored procedure detects that the change does require a new snapshot, an error occurs and no changes are made.

1 Especifica que as alterações no artigo podem invalidar o instantâneo ser inválida e se houver assinaturas existentes que exigem um novo instantâneo, dará permissão para o instantâneo existente seja marcado como obsoleto e um novo instantâneo seja gerado.1 specifies that changes to the article may cause the snapshot to be invalid, and if there are existing subscriptions that would require a new snapshot, gives permission for the existing snapshot to be marked as obsolete and a new snapshot generated.

[ @force_reinit_subscription = ] force_reinit_subscription[@force_reinit_subscription = ] force_reinit_subscription
Confirma que a ação tomada por esse procedimento armazenado pode exigir que as assinaturas existentes sejam reinicializadas.Acknowledges that the action taken by this stored procedure may require existing subscriptions to be reinitialized. force_reinit_subscription é um bit, com um padrão de 0.force_reinit_subscription is a bit, with a default of 0.

0 Especifica que as alterações no artigo fazem com que a assinatura seja reiniciada.0 specifies that changes to the article do not cause the subscription to be reinitialized. Se o procedimento armazenado detectar que a alteração irá requerer assinaturas sejam reiniciadas, ocorrerá um erro e nenhuma alteração é feita.If the stored procedure detects that the change would require subscriptions to be reinitialized, an error occurs and no changes are made. 1 Especifica que as alterações no artigo fazem com que as assinaturas existentes sejam reinicializadas e dá permissão para que ocorra a reinicialização da assinatura.1 specifies that changes to the article cause existing subscriptions to be reinitialized, and gives permission for the subscription reinitialization to occur.

[ @publisher = ] 'publisher' Especifica um não MicrosoftMicrosoft SQL ServerSQL Server publicador.[ @publisher = ] 'publisher' Specifies a non- MicrosoftMicrosoft SQL ServerSQL Server Publisher. Publisher está sysname, com um padrão NULL.publisher is sysname, with a default of NULL.

Observação

Publisher não deve ser usado com um SQL ServerSQL Server publicador.publisher should not be used with a SQL ServerSQL Server Publisher.

[ @internal = ] 'internal' Somente para uso interno.[ @internal = ] 'internal' Internal use only.

Valores do código de retornoReturn Code Values

0 (êxito) ou 1 (falha)0 (success) or 1 (failure)

ComentáriosRemarks

sp_articlecolumn é usado em replicação de instantâneo e replicação transacional.sp_articlecolumn is used in snapshot replication and transactional replication.

Apenas um artigo não assinado pode ser filtrado usando sp_articlecolumn.Only an unsubscribed article can be filtered using sp_articlecolumn.

ExemploExample

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

PermissõesPermissions

Somente os membros dos sysadmin função de servidor fixa ou db_owner banco de dados fixa podem executar sp_articlecolumn.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_articlecolumn.

Consulte tambémSee Also

Define an Article Define an Article
Definir e modificar um filtro de coluna Define and Modify a Column Filter
Filtrar os dados publicados Filter Published Data
sp_addarticle (Transact-SQL) sp_addarticle (Transact-SQL)
sp_articleview (Transact-SQL) sp_articleview (Transact-SQL)
sp_changearticle (Transact-SQL) sp_changearticle (Transact-SQL)
sp_droparticle (Transact-SQL) sp_droparticle (Transact-SQL)
sp_helparticle (Transact-SQL) sp_helparticle (Transact-SQL)
sp_helparticlecolumns (Transact-SQL) sp_helparticlecolumns (Transact-SQL)
Procedimentos armazenados de replicação (Transact-SQL)Replication Stored Procedures (Transact-SQL)