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

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Permet de spécifier les colonnes incluses dans un article pour filtrer verticalement des données dans une table publiée.Used to specify columns included in an article to vertically filter data in a published table. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.This stored procedure is executed at the Publisher on the publication database.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
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' ]  

ArgumentsArguments

[ @publication = ] 'publication' Est le nom de la publication qui contient cet article.[ @publication = ] 'publication' Is the name of the publication that contains this article. publication est sysname, sans valeur par défaut.publication is sysname, with no default.

[ @article = ] 'article' Est le nom de l’article.[ @article = ] 'article' Is the name of the article. article est sysname, sans valeur par défaut.article is sysname, with no default.

[ @column = ] 'column' Est le nom de la colonne à ajouter ou à supprimer.[ @column = ] 'column' Is the name of the column to be added or dropped. colonne est sysname, avec NULL comme valeur par défaut.column is sysname, with a default of NULL. Si la valeur est NULL, toutes les colonnes sont publiées.If NULL, all columns are published.

[ @operation = ] 'operation' Spécifie s’il faut ajouter ou supprimer des colonnes dans un article.[ @operation = ] 'operation' Specifies whether to add or drop columns in an article. opération est nvarchar (5) , avec une valeur par défaut de l’ajouter.operation is nvarchar(5), with a default of add. ajouter marque la colonne pour la réplication.add marks the column for replication. DROP annule la désignation de la colonne.drop unmarks the column.

[ @refresh_synctran_procs = ] refresh_synctran_procs Spécifie si les procédures stockées prenant en charge les abonnements avec mise à jour immédiate sont régénérées pour correspondre au nombre de colonnes répliquées.[ @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 bits, avec une valeur par défaut 1.refresh_synctran_procs is bit, with a default of 1. Si 1, les procédures stockées sont régénérées.If 1, the stored procedures are regenerated.

[ @ignore_distributor = ] ignore_distributor Indique si cette procédure stockée s’exécute sans connexion au serveur de distribution.[ @ignore_distributor = ] ignore_distributor Indicates if this stored procedure executes without connecting to the Distributor. ignore_distributor est bits, avec une valeur par défaut 0.ignore_distributor is bit, with a default of 0. Si 0, la base de données doit être activée pour la publication et le cache des articles doit être actualisé pour refléter les nouvelles colonnes répliquées par l’article.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. Si 1, les colonnes des articles qui se trouvent dans une base de données non publiée ; doivent être utilisées uniquement dans les situations de récupération peuvent être supprimées.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 Autorise la modification des colonnes dans les publications possédant des abonnements.[ @change_active = ] change_active Allows modifying the columns in publications that have subscriptions. change_active est un int avec une valeur par défaut 0.change_active is an int with a default of 0. Si 0, les colonnes ne sont pas modifiés.If 0, columns are not modified. Si 1, colonnes peuvent être ajoutés ou supprimés à partir d’articles actifs possédant des abonnements.If 1, columns can be added or dropped from active articles that have subscriptions.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot Confirme que l’action entreprise par cette procédure stockée peut invalider un instantané existant.[ @force_invalidate_snapshot = ] force_invalidate_snapshot Acknowledges that the action taken by this stored procedure may invalidate an existing snapshot. àce_invalidate_snapshot est un bits, avec une valeur par défaut 0.force_invalidate_snapshot is a bit, with a default of 0.

0 Spécifie que les modifications de l’article n’invalident pas l’instantané n’est pas valide.0 specifies that changes to the article do not cause the snapshot to be invalid. Si la procédure stockée détecte que la modification requiert un nouvel instantané, une erreur se produit et aucune modification n'est effectuée.If the stored procedure detects that the change does require a new snapshot, an error occurs and no changes are made.

1 Spécifie que les modifications apportées à l’article peuvent invalider l’instantané n’est pas valide et il existe des abonnements qui nécessitent un nouvel instantané, autorise l’instantané existant soit marqué comme obsolète et de générer un nouvel instantané.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
Confirme que l’action entreprise par cette procédure stockée peut nécessiter la réinitialisation des abonnements existants.Acknowledges that the action taken by this stored procedure may require existing subscriptions to be reinitialized. àce_reinit_subscription est un bits, avec une valeur par défaut 0.force_reinit_subscription is a bit, with a default of 0.

0 Spécifie que les modifications de l’article n’invalident pas l’abonnement à réinitialiser.0 specifies that changes to the article do not cause the subscription to be reinitialized. Si la procédure stockée détecte que la modification requiert la réinitialisation des abonnements, une erreur se produit et aucune modification n'est effectuée.If the stored procedure detects that the change would require subscriptions to be reinitialized, an error occurs and no changes are made. 1 indique que les modifications apportées à l’article entraînent la réinitialisation des abonnements existants et autorise la réinitialisation des abonnements se produise.1 specifies that changes to the article cause existing subscriptions to be reinitialized, and gives permission for the subscription reinitialization to occur.

[ @publisher = ] 'publisher' Spécifie un non - MicrosoftMicrosoft SQL ServerSQL Server serveur de publication.[ @publisher = ] 'publisher' Specifies a non- MicrosoftMicrosoft SQL ServerSQL Server Publisher. serveur de publication est sysname, avec NULL comme valeur par défaut.publisher is sysname, with a default of NULL.

Notes

serveur de publication ne doit pas être utilisé avec un SQL ServerSQL Server serveur de publication.publisher should not be used with a SQL ServerSQL Server Publisher.

[ @internal = ] 'internal' Usage interne uniquement.[ @internal = ] 'internal' Internal use only.

Valeurs des codes de retourReturn Code Values

0 (réussite) ou 1 (échec)0 (success) or 1 (failure)

NotesRemarks

sp_articlecolumn est utilisé dans la réplication d’instantané ou transactionnelle.sp_articlecolumn is used in snapshot replication and transactional replication.

Seul un article ne peut être filtré à l’aide sp_articlecolumn.Only an unsubscribed article can be filtered using sp_articlecolumn.

ExempleExample

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

AutorisationsPermissions

Seuls les membres de la sysadmin rôle serveur fixe ou db_owner rôle de base de données fixe peuvent exécuter sp_articlecolumn.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_articlecolumn.

Voir aussiSee Also

Define an Article Define an Article
Définir et modifier un filtre de colonne Define and Modify a Column Filter
Filtrer des données publiées 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)
Procédures stockées de réplication (Transact-SQL)Replication Stored Procedures (Transact-SQL)