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