Cómo eliminar una suscripción de inserción (programación de la replicación con Transact-SQL)
Las suscripciones de inserción pueden eliminarse mediante programación con procedimientos almacenados de replicación. Los procedimientos almacenados que se usen dependerán del tipo de publicación a la que corresponda la suscripción.
Para eliminar una suscripción de inserción a una publicación transaccional o de instantáneas
En la base de datos de publicación del publicador, ejecute sp_dropsubscription (Transact-SQL). Especifique @publication y @subscriber. Especifique un valor de all para @article. (Opcional) Si no se puede tener acceso al Distribuidor, especifique un valor de 1 para @ignore_distributor para eliminar la suscripción sin quitar los objetos relacionados en el Distribuidor.
En la base de datos de suscripciones del suscriptor, ejecute sp_subscription_cleanup (Transact-SQL) para quitar los metadatos de replicación en la base de datos de suscripciones.
Para eliminar una suscripción de inserción a una publicación de mezcla
En el Publicador, ejecute sp_dropmergesubscription (Transact-SQL), especificando @publication, @subscriber y @subscriber_db. (Opcional) Si no se puede tener acceso al Distribuidor, especifique un valor de 1 para @ignore_distributor para eliminar la suscripción sin quitar los objetos relacionados en el Distribuidor.
En el suscriptor de la base de datos de suscripciones, ejecute sp_mergesubscription_cleanup (Transact-SQL). Especifique @publisher, @publisher_db y @publication. Esto quita los metadatos de mezcla de la base de datos de suscripciones.
Ejemplo
En este ejemplo se elimina una suscripción de inserción a una publicación transaccional.
-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables
-- on the command line and in SQL Server Management Studio, see the
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
-- This batch is executed at the Publisher to remove
-- a pull or push subscription to a transactional publication.
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @subscriber = $(SubServer);
USE [AdventureWorks]
EXEC sp_dropsubscription
@publication = @publication,
@article = N'all',
@subscriber = @subscriber;
GO
En este ejemplo se elimina una suscripción de inserción a una publicación de mezcla.
-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables
-- on the command line and in SQL Server Management Studio, see the
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
-- This batch is executed at the Publisher to remove
-- a pull or push subscription to a merge publication.
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorksReplica';
USE [AdventureWorks]
EXEC sp_dropmergesubscription
@publication = @publication,
@subscriber = @subscriber,
@subscriber_db = @subscriptionDB;
GO
Vea también