Share via


sp_dropdistpublisher (Transact-SQL)

Descarta um Publicador de distribuição. Esse procedimento armazenado é executado no Distribuidor em qualquer banco de dados.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

sp_dropdistpublisher [ @publisher = ] 'publisher'
    [ , [ @no_checks = ] no_checks ]
    [ , [ @ignore_distributor = ] ignore_distributor ]

Argumentos

  • [ @publisher= ] 'publisher'
    É o Publicador a ser removido. publisher é sysname, sem padrão.

  • [ @no_checks= ] no_checks
    Especifica se sp_dropdistpublisher deve verificar se o Publicador desinstalou o servidor como o Distribuidor. no_checks é bit, com um padrão de 0.

    Se for 0, a replicação verificará se o Publicador remoto desinstalou o servidor local como o Distribuidor. Se o Publicador for local, a replicação verificará se não há objetos de publicação ou distribuição restantes no servidor local.

    Se for 1, todos os objetos de replicação associados ao Publicador de distribuição serão descartados, mesmo que um Publicador remoto não possa ser alcançado. Depois de fazer isso, o Publicador remoto deve desinstalar a replicação usando sp_dropdistributor com @ ignore_distributor = 1.

  • [ @ignore_distributor= ] ignore_distributor
    Especifica se os objetos de distribuição são deixados no Distribuidor quando o Publicador é removido. ignore_distributor é bit, e pode ter um destes valores:

    1 = objetos de distribuição que pertencem a publisher permanecem no Distribuidor.

    0 = objetos de distribuição para publisher são limpos no Distribuidor.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

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

Ao descartar um Editor Oracle, se não for possível descartar o Editor, sp_dropdistpublisher retornará um erro e os objetos do Distribuidor para o Editor serão removidos.

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

-- Disable the publication database.
USE [AdventureWorks2012]
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_dropdistpublisher.

Consulte também

Referência

sp_adddistpublisher (Transact-SQL)

sp_changedistpublisher (Transact-SQL)

sp_helpdistpublisher (Transact-SQL)

Procedimentos armazenados de replicação (Transact-SQL)

Conceitos

Desabilitar publicação e distribuição