sp_dropsubscription (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

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.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

[ @publication = ] N’publication'

Nom de la composition associée. @publication est sysname, avec la valeur par défaut NULL. Si all, tous les abonnements pour toutes les publications de l’Abonné spécifié sont annulés. la publication est un paramètre obligatoire.

[ @article = ] N’article'

Nom de l’article. @article est sysname, avec la valeur par défaut NULL. Si all, les abonnements à tous les articles pour chaque publication spécifiée et l’Abonné sont supprimés. Utiliser all pour les publications qui autorisent la mise à jour immédiate.

[ @subscriber = ] N’subscriber'

Nom de l’Abonné qui aura ses abonnements supprimés. @subscriber est sysname, sans valeur par défaut. Si all, tous les abonnements pour tous les Abonnés sont supprimés.

[ @destination_db = ] N’destination_db'

Nom de la base de données de destination @destination_db est sysname, avec la valeur par défaut NULL. Si NULL, tous les abonnements de cet Abonné sont supprimés.

[ @ignore_distributor = ] ignore_distributor

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

[ @reserved = ] N’reserved'

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

[ @publisher = ] N’publisher'

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_dropsubscriptionest utilisé dans instantané et la réplication transactionnelle.

Si vous supprimez l’abonnement sur un article dans une publication de synchronisation immédiate, vous ne pouvez pas l’ajouter, sauf si vous supprimez les abonnements sur tous les articles de la composition et ajoutez-les à la fois.

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

Autorisations

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