Share via


sp_dropdistributor (Transact-SQL)

Desinstala o Distribuidor. Esse procedimento armazenado é executado no Distribuidor ou em qualquer banco de dados, exceto no banco de dados de distribuição.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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

Argumentos

  • [ @no_checks=] no_checks
    Indica se os objetos dependentes devem ser verificados ou não antes de descartar o Distribuidor. no_checks é bit, com um padrão de 0.

    Se for 0, sp_dropdistributor verifica para garantir que todos os objetos de publicação me distribuição, além do Distribuidor, foram descartados.

    Se for 1, sp_dropdistributor descartará todos os objetos de publicação e distribuição antes de desinstalar o distribuidor.

  • [ @ignore_distributor=] ignore_distributor
    Indica se esse procedimento armazenado será executado sem se conectar ao Distribuidor. ignore_distributor é bit, com um padrão de 0.

    Se for 0, sp_dropdistributor conecta ao Distribuidor e remove todos os objetos de replicação. Se sp_dropdistributor não puder conectar ao Distribuidor, o procedimento armazenado falhará.

    Se for 1, nenhuma conexão será feita com o Distribuidor e os objetos de replicação não serão removidos. Será usado se o Distribuidor estiver sendo desinstalado ou estiver permanentemente offline. Os objetos desse Publicador no Distribuidor não serão removidos até que o Distribuidor seja reinstalado futuramente.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

sp_dropdistributor é usado em todos os tipos de replicação.

Se outro Publicador ou objetos de distribuição existirem no servidor, sp_dropdistributor falhará, a menos que @ no_checks seja definido como 1.

Esse procedimento armazenado deve ser executado depois de descartar o banco de dados de distribuição executando sp_dropdistributiondb.

Exemplo

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

Permissões

Somente membros da função de servidor fixa sysadmin podem executar sp_dropdistributor.