sp_droppullsubscription (Transact-SQL)

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

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

sp_droppullsubscription [ @publisher= ] 'publisher'
        , [ @publisher_db= ] 'publisher_db'
        , [ @publication= ] 'publication'
    [ , [ @reserved= ] reserved ]

Arguments

  • [ @publisher = ] 'publisher'
    Nom du serveur distant. L'argument publisher est de type sysname et n'a pas de valeur par défaut. Si all est spécifié, l'abonnement est supprimé sur tous les serveurs de publication.

  • [ @publisher_db=] 'publisher_db'
    Nom de la base de données du serveur de distribution. publisher_db est de type sysname et n'a pas de valeur par défaut. all représente toutes les bases de données de serveur de publication.

  • [ @publication=] 'publication'
    Nom de la publication. L'argument publication est de type sysname et n'a pas de valeur par défaut. Si all est spécifié, l'abonnement est supprimé dans toutes les publications.

  • [ @reserved= ] reserved
    Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

Valeurs des codes renvoyés

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

Notes

La procédure sp_droppullsubscription est utilisée dans les réplications transactionnelles et de capture instantanée.

sp_droppullsubscription supprime la ligne correspondante dans la table MSreplication_subscriptions (Transact-SQL) et l'Agent de distribution correspondant sur l'Abonné. La table MSreplication_subscriptions (Transact-SQL) est supprimée si elle ne contient plus aucune ligne.

Exemple

-- 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'AdventureWorks2008R2';

USE [AdventureWorks2008R2Replica]
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 de données (pull) sont habilités à exécuter la procédure sp_reinitpullsubscription. Le rôle de base de données fixe db_owner ne peut exécuter sp_droppullsubscription que si l'utilisateur qui a créé l'abonnement par extraction de données appartient à ce rôle.