Compartir a través de


sp_dropsubscription (Transact-SQL)

Se aplica a: SQL Server Azure SQL Managed Instance

Quita las suscripciones a un artículo, publicación o conjunto de suscripciones específico del publicador. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicación.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_dropsubscription
    [ [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
    , [ @subscriber = ] N'subscriber'
    [ , [ @destination_db = ] N'destination_db' ]
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @reserved = ] N'reserved' ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Argumentos

[ @publication = ] N'publication'

Nombre de la publicación asociada. @publication es sysname, con un valor predeterminado de NULL. Si alles , se cancelan todas las suscripciones de todas las publicaciones del suscriptor especificado. publication es un parámetro obligatorio.

[ @article = ] N'article'

Nombre del artículo. @article es sysname, con un valor predeterminado de NULL. Si alles , se quitan las suscripciones a todos los artículos de cada publicación y suscriptor especificados. Se usa all para publicaciones que permiten la actualización inmediata.

[ @subscriber = ] N'subscriber'

Nombre del suscriptor que tendrá sus suscripciones eliminadas. @subscriber es sysname, sin ningún valor predeterminado. Si alles , se quitan todas las suscripciones de todos los suscriptores.

[ @destination_db = ] N'destination_db'

El nombre de la base de datos de destino. @destination_db es sysname, con un valor predeterminado de NULL. Si NULLes , se quitan todas las suscripciones de ese suscriptor.

[ @ignore_distributor = ] ignore_distributor

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

[ @reserved = ] N'reserved'

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

[ @publisher = ] N'publisher'

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_dropsubscription se usa en la replicación transaccional y de instantáneas.

Si quita la suscripción de un artículo en una publicación de sincronización inmediata, no puede agregarla de nuevo a menos que quite las suscripciones de todos los artículos de la publicación y agréguelas de nuevo a la vez.

Ejemplos

-- 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 [AdventureWorks2022]
EXEC sp_dropsubscription 
  @publication = @publication, 
  @article = N'all',
  @subscriber = @subscriber;
GO

Permisos

Solo los miembros del rol fijo de servidor sysadmin , el rol fijo de base de datos db_owner o el usuario que creó la suscripción pueden ejecutar sp_dropsubscription.