sp_dropdistributor (Transact-SQL)
Applies to: SQL Server Azure SQL Managed Instance
Uninstalls the Distributor. This stored procedure is executed at the Distributor on any database except the distribution database.
Transact-SQL syntax conventions
Syntax
sp_dropdistributor
[ [ @no_checks = ] no_checks ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ ; ]
Arguments
[ @no_checks = ] no_checks
Indicates whether to check for dependent objects before dropping the Distributor. @no_checks is bit, with a default of 0
.
If
0
,sp_dropdistributor
checks to make sure that all publishing and distribution objects were dropped, in addition to the Distributor.If
1
,sp_dropdistributor
drops all the publishing and distribution objects before uninstalling the distributor.
[ @ignore_distributor = ] ignore_distributor
Indicates whether this stored procedure is executed without connecting to the Distributor. @ignore_distributor is bit, with a default of 0
.
If
0
,sp_dropdistributor
connects to the Distributor and removes all replication objects. Ifsp_dropdistributor
is unable to connect to the Distributor, the stored procedure fails.If
1
, no connection is made to the Distributor and the replication objects aren't removed. This option is used if the Distributor is being uninstalled or is permanently offline. The objects for this Publisher at the Distributor aren't removed until the Distributor is reinstalled at some future time.
Return code values
0
(success) or 1
(failure).
Remarks
sp_dropdistributor
is used in all types of replication.
If other Publisher or distribution objects exist on the server, sp_dropdistributor
fails unless @no_checks is set to 1
.
This stored procedure must be executed after dropping the distribution database by executing sp_dropdistributiondb
.
Examples
-- 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
Permissions
Only members of the sysadmin fixed server role can execute sp_dropdistributor
.