sp_droparticle (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

Quita un artículo de una publicación de instantáneas o transaccional. No se puede quitar un artículo si existe una o varias suscripciones. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicación.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_droparticle
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @from_drop_publication = ] from_drop_publication ]
[ ; ]

Argumentos

[ @publication = ] N'publication'

Nombre de la publicación que contiene el artículo que se va a quitar. @publication es sysname, sin ningún valor predeterminado.

[ @article = ] N'article'

Nombre del artículo que se va a quitar. @article es sysname, sin ningún valor predeterminado.

[ @ignore_distributor = ] ignore_distributor

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

Confirma que la acción realizada por este procedimiento almacenado podría invalidar una instantánea existente. @force_invalidate_snapshot es bit, con un valor predeterminado de 0.

  • 0 especifica que los cambios realizados en el artículo no hacen que la instantánea no sea válida. Si el procedimiento almacenado detecta que el cambio requiere una nueva instantánea, se producirá un error y no se realizarán cambios.

  • 1 especifica que los cambios realizados en el artículo pueden hacer que la instantánea no sea válida y, si hay suscripciones existentes que requerirían una nueva instantánea, concede permiso para que la instantánea existente se marque como obsoleta y se genere una nueva instantánea.

[ @publisher = ] N'publisher'

Especifica un publicador que no es de SQL Server. @publisher es sysname, con un valor predeterminado de NULL.

Este parámetro no se debe usar al cambiar las propiedades del artículo en un publicador de SQL Server.

[ @from_drop_publication = ] from_drop_publication

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

sp_droparticle se usa en la replicación transaccional y de instantáneas.

Para los artículos filtrados horizontalmente, sp_droparticle comprueba la type columna del artículo en la tabla sysarticles (Transact-SQL) para determinar si también se debe quitar una vista o un filtro. Si se ha generado automáticamente una vista o filtro, se quita con el artículo. Si se creó manualmente, no se quita.

sp_droparticle La ejecución de para quitar un artículo de una publicación no quita el objeto de la base de datos de publicación ni el objeto correspondiente de la base de datos de suscripciones. Use DROP <object> para quitar manualmente estos objetos, si es necesario.

Ejemplos

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

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

Permisos

Solo los miembros del rol fijo de servidor sysadmin o db_owner rol fijo de base de datos pueden ejecutar sp_droparticle.