sp_droparticle (Transact-SQL)
Se aplica a: SQL Server Azure 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 de la tabla sysarticles 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
.