Partager via


sp_dropdistributor (Transact-SQL)

Désinstalle le serveur de distribution. Cette procédure stockée est exécutée sur n'importe quelle base de données du serveur de distribution, à l'exception de la base de données de distribution.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

sp_dropdistributor [ [ @no_checks= ] no_checks ] 
    [ , [ @ignore_distributor= ] ignore_distributor ]

Arguments

  • [ @no_checks=] no_checks
    Indique s'il faut vérifier les objets dépendants avant de supprimer le serveur de distribution. no_checks est du type bit et reçoit la valeur par défaut 0.

    S'il a la valeur 0, sp_dropdistributor vérifie que tous les objets de publication et de distribution en plus du serveur de distribution ont été supprimés.

    S'il a la valeur 1, sp_dropdistributor supprime tous les objets de publication et de distribution avant de désinstaller le serveur de distribution.

  • [ @ignore_distributor=] ignore_distributor
    Indique si cette procédure stockée est exécutée sans connexion au serveur de distribution. ignore_distributor est du type bit, avec 0 comme valeur par défaut.

    S'il a la valeur 0, sp_dropdistributor se connecte au serveur de distribution et supprime tous les objets de réplication. Si sp_dropdistributor ne parvient pas à se connecter au serveur de distribution, la procédure stockée échoue.

    Si la valeur est 1, aucune connexion au serveur de distribution n'est établie et les objets de réplication ne sont pas supprimés. Cette option est utilisée lors de la désinstallation du serveur de distribution ou lorsque celui-ci est mis hors ligne de façon permanente. Les objets de ce serveur de publication sur le serveur de distribution seront supprimés uniquement lors d'une réinstallation ultérieure du serveur de distribution.

Valeurs des codes retournés

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

Notes

La procédure sp_dropdistributor est utilisée dans tous les types de réplication.

Si d'autres objets de serveur de publication ou de distribution existent sur le serveur, la procédure sp_dropdistributor échoue à moins que @no_checks ne soit égal à 1.

Cette procédure stockée doit être exécutée après la suppression de la base de données de distribution à l'aide de sp_dropdistributiondb.

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 appartenant au rôle serveur fixe sysadmin peuvent exécuter sp_dropdistributor.