Partager via


sp_dropsubscription (Transact-SQL)

Supprime les abonnements relatifs à un article, une publication ou un ensemble d'abonnements particuliers sur le serveur de publication. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.

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

Syntaxe

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

Arguments

  • [ @publication=] 'publication'
    Nom de la publication associée. L'argument publication est de type sysname, avec la valeur NULL par défaut. Si all est spécifié, tous les abonnements relatifs à toutes les publications de l'Abonné spécifié seront annulés. publication est un paramètre obligatoire.

  • [ @article= ] 'article'
    Nom de l'article. L'argument article est de type sysname, avec NULL comme valeur par défaut. Si all est spécifié, les abonnements relatifs à tous les articles de chaque publication et Abonné spécifiés seront supprimés. Utilisez all pour les publications qui permettent une mise à jour immédiate.

  • [ @subscriber= ] 'subscriber'
    Nom de l'Abonné dont les abonnements seront supprimés. subscriber est de type sysname, sans valeur par défaut. Si all est spécifié, tous les abonnements de tous les Abonnés seront supprimés.

  • [ @destination_db= ] 'destination_db'
    Nom de la base de données de destination. destination_db est de type sysname, avec la valeur par défaut NULL. Si la valeur est NULL, tous les abonnements de cet Abonné seront supprimés.

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

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

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Notes

La procédure sp_dropsubscription est utilisée dans la réplication transactionnelle et de capture instantanée.

Si vous supprimez l'abonnement à un article dans une publication à synchronisation immédiate, vous ne pourrez le rajouter que si vous supprimez les abonnements relatifs à tous les articles de la publication et que vous les rajoutez tous en même temps.

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

Autorisations

Seuls les membres du rôle serveur fixe sysadmin, les membres du rôle de base de données fixe db_owner et l'utilisateur qui a créé l'abonnement peuvent exécuter sp_dropsubscription.