sp_droppublication (Transact-SQL)

Supprime une publication et l'Agent d'instantané qui lui est associé. Tous les abonnements doivent être supprimés avant de pouvoir supprimer une publication. Les articles de la publication sont supprimés automatiquement. Cette procédure stockée est exécutée au niveau du serveur de publication sur la base de données de publication.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL

Syntaxe

sp_droppublication [ @publication= ] 'publication' 
    [ , [ @ignore_distributor = ] ignore_distributor ]

Arguments

  • [ @publication= ] 'publication'
    Nom de la publication à supprimer. publication est de type sysname et n'a pas de valeur par défaut. Si all est spécifié, toutes les publications sont supprimées de la base de données de publication, à l'exception de celles qui font l'objet d'abonnements.

  • [ @ignore_distributor = ] ignore_distributor
    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

sp_droppublication est utilisé dans la réplication d'instantané et dans la réplication transactionnelle.

Cette procédure supprime récursivement tous les articles associés à une publication, puis supprime la publication même. Une publication ne peut être supprimée si elle fait l'objet d'un ou de plusieurs abonnements. Pour plus d'informations sur la suppression des abonnements, consultez Supprimer un abonnement par émission (push) et Supprimer un abonnement par extraction (pull).

Exécuter sp_droppublication dans le but de supprimer une publication ne supprime pas les objets publiés de la base de données de publication ni les objets correspondants de la base de données d'abonnement. Si nécessaire, utilisez DROP <objet> pour supprimer manuellement ces objets.

Autorisations

Seuls les membres du rôle serveur fixe sysadmin peuvent exécuter sp_droppublication.

Exemples

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 

-- Remove a transactional publication.
USE [AdventureWorks2012]
EXEC sp_droppublication @publication = @publication;

-- Remove replication objects from the database.
USE [master]
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname = N'publish', 
  @value = N'false';
GO

Voir aussi

Référence

sp_addpublication (Transact-SQL)

sp_changepublication (Transact-SQL)

sp_helppublication (Transact-SQL)

Procédures stockées de réplication (Transact-SQL)

Concepts

Supprimer une publication