Compartir vía


sp_droppullsubscription (Transact-SQL)

Se aplica a: SQL Server Azure SQL Managed Instance

Quita una suscripción de la base de datos actual del suscriptor. Este procedimiento almacenado se ejecuta en el suscriptor de la base de datos de suscripciones de extracción.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_droppullsubscription
    [ @publisher = ] N'publisher'
    [ , [ @publisher_db = ] N'publisher_db' ]
    , [ @publication = ] N'publication'
    [ , [ @reserved = ] reserved ]
    [ , [ @from_backup = ] from_backup ]
[ ; ]

Argumentos

[ @publisher = ] N'publisher'

Nombre del servidor remoto. @publisher es sysname, sin ningún valor predeterminado. Si alles , la suscripción se quita en todos los publicadores.

[ @publisher_db = ] N'publisher_db'

Nombre de la base de datos del publicador. @publisher_db es sysname, con un valor predeterminado de NULL. all significa todas las bases de datos del publicador.

[ @publication = ] N'publication'

El nombre de la publicación. @publication es sysname, sin ningún valor predeterminado. Si alles , la suscripción se quita a todas las publicaciones.

[ @reserved = ] reserved

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

[ @from_backup = ] from_backup

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

sp_droppullsubscription elimina la fila correspondiente de la tabla MSreplication_subscriptions y el agente de distribuidor correspondiente en el suscriptor. Si no quedan filas en MSreplication_subscriptions, quita la tabla.

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 is the batch executed at the Subscriber to drop 
-- a pull subscription to a transactional publication.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB     AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2022';

USE [AdventureWorks2022Replica]
EXEC sp_droppullsubscription 
  @publisher = @publisher, 
  @publisher_db = @publicationDB, 
  @publication = @publication;
GO

Permisos

Solo los miembros del rol fijo de servidor sysadmin o el usuario que creó la suscripción de extracción pueden ejecutar sp_droppullsubscription. El rol fijo de base de datos db_owner solo puede ejecutarse sp_droppullsubscription si el usuario que creó la suscripción de extracción pertenece a este rol.