Partager via


sp_dropdistributor (Transact-SQL)

S’applique à : SQL Server Azure SQL Managed Instance

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.

Conventions de la syntaxe 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 bit, avec la valeur par défaut 0.

  • Si 0, sp_dropdistributor vérifie que tous les objets de publication et de distribution ont été supprimés, en plus du serveur de distribution.

  • Si 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 se connecter au serveur de distribution. @ignore_distributor est bit, avec la valeur par défaut 0.

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

  • Si 1, aucune connexion n’est établie au serveur de distribution et les objets de réplication ne sont pas supprimés. Cette option est utilisée si le serveur de distribution est désinstallé ou est définitivement hors connexion. Les objets de ce serveur de publication sur le serveur de distribution ne sont pas supprimés tant que le serveur de distribution n’est pas réinstallé à un moment donné.

Valeurs des codes de retour

0 (réussite) or 1 (échec).

Notes

sp_dropdistributor est utilisé dans tous les types de réplication.

Si d’autres objets de publication ou de distribution existent sur le serveur, sp_dropdistributor échoue, sauf si @no_checks est défini 1sur .

Cette procédure stockée doit être exécutée après avoir supprimé la base de données de distribution en exécutant sp_dropdistributiondb.

Exemples

-- 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'AdventureWorks2022';

-- Disable the publication database.
USE [AdventureWorks2022]
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 s’exécuter.sp_dropdistributor