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