sp_dropdistpublisher (Transact-SQL)
Supprime un serveur de publication de distribution. Cette procédure stockée est exécutée sur n'importe quelle base de données du serveur de distribution.
Syntaxe
sp_dropdistpublisher [ @publisher = ] 'publisher'
[ , [ @no_checks = ] no_checks ]
[ , [ @ignore_distributor = ] ignore_distributor ]
Arguments
[ @publisher= ] 'publisher'
Nom du serveur de publication à supprimer. publisher est de type sysname, sans valeur par défaut.[ @no_checks= ] no_checks
Spécifie si sp_dropdistpublisher doit vérifier que le serveur de publication a bien désinstallé le serveur de distribution. no_checks est de type bit, avec pour valeur par défaut 0.Si la valeur est 0, la réplication vérifie que le serveur de publication distant a bien désinstallé le serveur local en tant que serveur de distribution. Si le serveur de publication est local, la réplication vérifie qu'il ne reste aucun objet de publication ou de distribution sur le serveur local.
Si la valeur est 1, tous les objets de réplication associés au serveur de publication de distribution sont supprimés, même s'il n'est pas possible de joindre un serveur de publication distant. Après cette opération, le serveur de publication distant doit désinstaller la réplication à l'aide de la procédure sp_dropdistributor, avec @ignore_distributor = 1.
[ @ignore_distributor= ] ignore_distributor
Spécifie si les objets de distribution sont conservés sur le serveur de distribution lorsque le serveur de publication est supprimé. ignore_distributor est de type bit et peut prendre l'une de ces valeurs :1 = les objets de distribution appartenant au publisher sont conservés sur le serveur de distribution.
0 = les objets de distribution appartenant au publisher sont supprimés sur le serveur de distribution.
Valeurs des codes renvoyés
0 (succès) ou 1 (échec)
Notes
La procédure sp_dropdistpublisher est utilisée dans tous les types de réplication.
Lors de la suppression d'un serveur de publication Oracle, si elle ne parvient pas à supprimer ce serveur, la procédure sp_dropdistpublisher renvoie une erreur et les objets du serveur de distribution pour le serveur de publication sont supprimés.
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".
-- Disable publishing and distribution.
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB as sysname;
SET @distributionDB = N'distribution';
SET @publisher = $(DistPubServer);
SET @publicationDB = N'AdventureWorks';
-- Disable the publication database.
USE [AdventureWorks]
EXEC sp_removedbreplication @publicationDB;
-- Remove the registration of the local Publisher at the Distributor.
USE master
EXEC sp_dropdistpublisher @publisher;
-- Delete the distribution database.
EXEC sp_dropdistributiondb @distributionDB;
-- Remove the local server as a Distributor.
EXEC sp_dropdistributor;
GO
Autorisations
Seuls les membres du rôle serveur fixe sysadmin peuvent exécuter sp_dropdistpublisher.