Compartir vía


sp_dropdistributor (Transact-SQL)

Se aplica a: SQL Server Azure SQL Instancia administrada

Desinstala el distribuidor. Este procedimiento almacenado se ejecuta en el distribuidor de cualquier base de datos, excepto la de distribución.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @no_checks = ] no_checks

Indica si se comprobará si existen objetos dependientes antes de quitar el distribuidor. @no_checks es bit, con un valor predeterminado de 0.

  • Si 0es , sp_dropdistributor comprueba que se quitaron todos los objetos de publicación y distribución, además del distribuidor.

  • Si 1es , sp_dropdistributor quita todos los objetos de publicación y distribución antes de desinstalar el distribuidor.

[ @ignore_distributor = ] ignore_distributor

Indica si este procedimiento almacenado se ejecuta sin conectarse al distribuidor. @ignore_distributor es bit, con un valor predeterminado de 0.

  • Si 0es , sp_dropdistributor se conecta al distribuidor y quita todos los objetos de replicación. Si sp_dropdistributor no se puede conectar al distribuidor, se produce un error en el procedimiento almacenado.

  • Si 1es , no se establece ninguna conexión con el distribuidor y no se quitan los objetos de replicación. Esta opción se usa si el distribuidor se desinstala o está sin conexión permanentemente. Los objetos de este publicador en el distribuidor no se quitan hasta que el distribuidor se vuelva a instalar en algún momento futuro.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

sp_dropdistributor se usa en todos los tipos de replicación.

Si existen otros objetos publisher o de distribución en el servidor, se produce un error a sp_dropdistributor menos que @no_checks esté establecido 1en .

Este procedimiento almacenado debe ejecutarse después de quitar la base de datos de distribución ejecutando sp_dropdistributiondb.

Ejemplos

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

Permisos

Solo los miembros del rol fijo de servidor sysadmin pueden ejecutar sp_dropdistributor.