Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Instância Gerenciada de SQL do Azure
Descarta um Publicador de distribuição. Esse procedimento armazenado é executado no Distribuidor em qualquer banco de dados.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_dropdistpublisher
[ @publisher = ] N'publisher'
[ , [ @no_checks = ] no_checks ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ ; ]
Argumentos
@publisher [ = ] N'editor'
O editor para cair. @publisher é sysname, sem padrão.
Observação
O uso de uma porta personalizada para o editor do SQL Server foi introduzido no SQL Server 2019 (15.x). Se o editor do SQL Server estiver configurado com uma porta personalizada, ao descartar esse editor no distribuidor, forneça o nome do servidor do editor em vez de <Hostname>,<PortNumber>.
@no_checks [ = ] no_checks
Especifica se sp_dropdistpublisher o Publicador desinstalou o servidor como o Distribuidor. @no_checks é bit, com um padrão de 0.
Se
0, a replicação verifica 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
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 ser um destes valores:
1= objetos de distribuição pertencentes ao @publisher permanecem no Distribuidor.0= os objetos de distribuição para o @publisher são limpos no Distribuidor.
Valores do código de retorno
0 (sucesso) ou 1 (falha).
Comentários
sp_dropdistpublisher é usado em todos os tipos de replicação.
Ao descartar um Publicador Oracle, se não for possível descartar o Publicador, sp_dropdistpublisher retorna um erro e os objetos Distribuidor do Publicador são removidos.
Exemplos
-- 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
Permissões
Somente membros da função de servidor fixa sysadmin podem executar sp_dropdistpublisher.