Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Azure SQL Managed Instance
Lança um Publisher de distribuição. Este procedimento armazenado é executado no Distribuidor em qualquer base de dados.
Transact-SQL convenções de sintaxe
Syntax
sys.sp_dropdistpublisher
[ @publisher = ] N'publisher'
[ , [ @no_checks = ] no_checks ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ ; ]
Arguments
@publisher [ = ] N'editor'
O Publisher para largar. @publisher é sysname, sem padrão.
Note
A utilização de uma porta personalizada para o editor SQL Server foi introduzida no SQL Server 2019 (15.x). Se o publisher do SQL Server estiver configurado com uma porta personalizada, então, ao colocar tal publisher no distribuidor, forneça o nome do servidor publisher em vez de <Hostname>,<PortNumber>.
[ @no_checks = ] no_checks
Especifica se sp_dropdistpublisher verifica que o Publisher desinstalou o servidor como Distribuidor.
@no_checks é bit, com um padrão de 0.
Se
0, a replicação verifica que o Publisher remoto desinstalou o servidor local como Distribuidor. Se o Publisher for local, a replicação verifica que não existem objetos de publicação ou distribuição restantes no servidor local.Se
1, todos os objetos de replicação associados ao Publisher de distribuição são descartados mesmo que um Publisher remoto não possa ser alcançado. Depois de fazer isto, o Publisher remoto deve desinstalar a replicação usando sp_dropdistributor com@ignore_distributor = 1.
[ @ignore_distributor = ] ignore_distributor
Especifica se os objetos de distribuição ficam no Distribuidor quando o Publisher é removido. @ignore_distributor é bit, e pode ser um destes valores:
-
1= objetos de distribuição pertencentes à @publisher permanecem no Distribuidor. -
0= os objetos de distribuição para a @publisher são limpos no Distribuidor.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Remarks
sp_dropdistpublisher é usado em todos os tipos de replicação.
Ao eliminar um Oracle Publisher, se não conseguir eliminar o Publisher, sp_dropdistpublisher devolve um erro e os objetos Distributor do Publisher são removidos.
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
Permissões
Somente membros da função de servidor fixa sysadmin podem executar sp_dropdistpublishero .