sp_droppullsubscription (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Supprime un abonnement à la base de données en cours de l'Abonné. Cette procédure stockée est exécutée sur la base de données d'abonnement par extraction de données (pull) de l'abonné.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

[ @publisher = ] N’publisher'

Nom du serveur distant. @publisher est sysname, sans valeur par défaut. Si all, l’abonnement est supprimé sur tous les serveurs de publication.

[ @publisher_db = ] N’publisher_db'

Nom de la base de données du serveur de publication. @publisher_db est sysname, avec la valeur par défaut NULL. all signifie que toutes les bases de données publisher.

[ @publication = ] N’publication'

Nom de la publication. @publication est sysname, sans valeur par défaut. Si all, l’abonnement est supprimé à toutes les publications.

[ @reserved = ] réservé

Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

[ @from_backup = ] from_backup

Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

sp_droppullsubscriptionest utilisé dans instantané réplication et la réplication transactionnelle.

sp_droppullsubscription supprime la ligne correspondante dans la table MSreplication_subscriptions (Transact-SQL) et l’agent de distribution correspondant sur l’Abonné. Si aucune ligne n’est laissée dans MSreplication_subscriptions (Transact-SQL), elle supprime la table.

Exemples

-- 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

Autorisations

Seuls les membres du rôle serveur fixe sysadmin ou l’utilisateur qui a créé l’abonnement par extraction peuvent s’exécuter sp_droppullsubscription. Le rôle de base de données fixe db_owner ne peut s’exécuter sp_droppullsubscription que si l’utilisateur qui a créé l’abonnement pull appartient à ce rôle.