How to: Delete an Article (Replication Transact-SQL Programming)

Articles can be deleted programmatically using replication stored procedures. The stored procedures that you use depend on the type of publication to which the article belongs. For information about the conditions under which articles can be dropped and whether dropping an article requires a new snapshot or the reinitialization of subscriptions, see Agregar y quitar artículos de publicaciones existentes.

To delete an article from a snapshot or transactional publication

  1. Execute sp_droparticle (Transact-SQL) to delete an article, specified by **@article**, from a publication, specified by **@publication**. Specify a value of 1 for **@force\_invalidate\_snapshot**.

  2. (Optional) To remove the published object from the database entirely, execute the DROP <objectname> command at the Publisher on the publication database.

To delete an article from a merge publication

  1. Execute sp_dropmergearticle (Transact-SQL) to delete an article, specified by **@article**, from a publication, specified by **@publication**. If necessary, specify a value of 1 for **@force\_invalidate\_snapshot** and a value of 1 for **@force\_reinit\_subscription**.

  2. (Optional) To remove the published object from the database entirely, execute the DROP <objectname> command at the Publisher on the publication database.

Ejemplo

The following example deletes an article from a transactional publication. Because this change invalidates the existing snapshot, a value of 1 is specified for the **@force\_invalidate\_snapshot** parameter.

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksProductTran'; 
SET @article = N'Product'; 

-- Drop the transactional article.
USE [AdventureWorks]
EXEC sp_droparticle 
  @publication = @publication, 
  @article = @article,
  @force_invalidate_snapshot = 1;
GO

The following example deletes two articles from a merge publication. Because these changes invalidate the existing snapshot, a value of 1 is specified for the **@force\_invalidate\_snapshot** parameter.

DECLARE @publication AS sysname;
DECLARE @article1 AS sysname;
DECLARE @article2 AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @article1 = N'SalesOrderDetail'; 
SET @article2 = N'SalesOrderHeader'; 

-- Remove articles from a merge publication.
USE [AdventureWorks]
EXEC sp_dropmergearticle 
  @publication = @publication, 
  @article = @article1,
  @force_invalidate_snapshot = 1;
EXEC sp_dropmergearticle 
  @publication = @publication, 
  @article = @article2,
  @force_invalidate_snapshot = 1;
GO

Vea también

Tareas

How to: Delete an Article (RMO Programming)

Conceptos

Programming Replication Using System Stored Procedures

Otros recursos

Agregar y quitar artículos de publicaciones existentes

Ayuda e información

Obtener ayuda sobre SQL Server 2005