sp_droppublication (Transact-SQL)

Supprime une publication et l'Agent de capture instantanée 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 sur la base de données de publication au niveau du serveur de publication.

Icône Lien de rubriqueConventions 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, sans 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
    À usage interne uniquement.

Valeurs des codes de retour

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

Notes

sp_droppublication est utilisé dans la réplication de capture instantanée 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 How to: Delete a Push Subscription (Replication Transact-SQL Programming) et How to: Delete a Pull Subscription (Replication Transact-SQL Programming).

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 de serveur fixe sysadmin ou du rôle de base de données fixe db_owner 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 [AdventureWorks]
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)

Autres ressources

How to: Delete a Publication (Replication Transact-SQL Programming)

Aide et Informations

Assistance sur SQL Server 2005